|
18496
|
NULL
|
0
|
2026-05-11T11:29:05.776311+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778498945776_m2.jpg...
|
PhpStorm
|
faVsco.js – laravel.log
|
1
|
NULL
|
monitor_2
|
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
2
67
3
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Services\Crm\Hubspot;
use HubSpot\Client\Crm\Deals\ApiException as DealApiException;
use HubSpot\Client\Crm\Contacts\ApiException as ContactApiException;
use HubSpot\Client\Crm\Companies\ApiException as CompanyApiException;
use HubSpot\Client\Crm\Contacts\Model\SimplePublicObjectWithAssociations as ContactsWithAssociations;
use HubSpot\Client\Crm\Companies\Model\SimplePublicObjectWithAssociations as CompaniesWithAssociations;
use HubSpot\Client\Crm\Deals\Model\SimplePublicObjectWithAssociations as DealWithAssociations;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectInput;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectWithAssociations as ObjectWithAssociations;
use HubSpot\Client\Crm\Pipelines\Model\Error;
use HubSpot\Client\Crm\Pipelines\Model\PipelineStage;
use HubSpot\Client\Crm\Properties\Model\Property;
use HubSpot\Discovery\Discovery;
use Jiminny\Exceptions\CrmException;
use Jiminny\Exceptions\RateLimitException;
use Jiminny\Exceptions\SocialAccountTokenInvalidException;
use Jiminny\Jobs\Crm\NoteObject;
use Jiminny\Models\Crm\Field;
use Jiminny\Services\Crm\BaseClient;
use Jiminny\Services\Crm\Hubspot\DTO\Response\Owner;
use Jiminny\Services\SocialAccountService;
use SevenShores\Hubspot\Exceptions\BadRequest;
use SevenShores\Hubspot\Exceptions\HubspotException;
use SevenShores\Hubspot\Factory;
use SevenShores\Hubspot\Http\Response;
use Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService;
use Illuminate\Support\Facades\Redis;
use Throwable;
/**
* @phpstan-type 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)
{
$cacheKey = $this->getRateLimitCacheKey();
$cachedRetryAfter = Redis::get($cacheKey);
if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {
throw new RateLimitException(
'Hubspot rate limit (cached circuit-breaker)',
(int) $cachedRetryAfter,
);
}
try {
return $apiCall();
} catch (Throwable $e) {
if ($this->isHubspotRateLimit($e)) {
$retryAfter = $this->parseRetryAfter($e);
Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);
$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 getRateLimitCacheKey(): string
{
return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());
}
public function isHubspotRateLimit(Throwable $e): bool
{
if ($e instanceof BadRequest
|| $e instanceof DealApiException
|| $e instanceof ContactApiException
|| $e instanceof CompanyApiException
|| $e instanceof \GuzzleHttp\Exception\RequestException
) {
return (int) $e->getCode() === 429;
}
return false;
}
public 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;
}
}
$message = strtolower($e->getMessage());
if (str_contains($message, 'daily')) {
return 600;
}
if (str_contains($message, 'ten secondly')) {
return 10;
}
if (str_contains($message, 'secondly')) {
return 1;
}
$this->log->warning('[Hubspot] No retry-after header or known message, using default', [
'exception_class' => get_class($e),
'message' => $message,
]);
return 10;
}
public function parseMessage(Throwable $e): string
{
if (! method_exists($e, 'getResponseBody')) {
return '';
}
$body = $e->getResponseBody();
if (is_string($body)) {
$body = json_decode($body, true) ?? [];
}
if (! is_array($body)) {
return '';
}
return (string) ($body['message'] ?? '');
}
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
);
}
/**
* Execute a search request against HubSpot CRM objects with rate limiting.
*
* @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')
* @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.
* @return array The search response with 'results', 'total', 'paging' keys
* @throws RateLimitException When rate limit is hit
* @throws HubspotException On API errors
*/
public function search(string $objectType, array $payload): array
{
$endpoint = self::BASE_URL . "/crm/v3/objects/{$objectType}/search";
return $this->executeRequest(function () use ($endpoint, $payload) {
$response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);
return $response->toArray();
});
}
/**
* @throws DealApiException
* @throws CrmException
*/
public function getOpportunityById(string $crmId, array $fields): array
{
try {
$deal = $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') {
return $this->getInstance()->getClient()?->request(
method: $method,
endpoint: $endpoint,
query_string: $queryString
);
} else {
return $this->getInstance()->getClient()->request($method, $endpoint, [
'json' => ($payload),
]);
}
}
/**
* @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 (RateLimitException $e) {
// throw $e;
} 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);
}
}
Show Replace Field
Search History
429
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
23/38
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Sync Changes
Hide This Notification
Code changed:
Hide
[2026-05-11 11:17:21] local.NOTICE: Monitoring start {"correlation_id":"885fde59-3852-4120-a620-af3da7ecce17","trace_id":"4cc10f53-5d39-418d-8e98-fe53d9bbff5f"}
[2026-05-11 11:17:21] local.NOTICE: Monitoring end {"correlation_id":"885fde59-3852-4120-a620-af3da7ecce17","trace_id":"4cc10f53-5d39-418d-8e98-fe53d9bbff5f"}
[2026-05-11 11:17:34] 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":"a773fb28-5a0c-4b8f-a1b5-d57e6b81db90","trace_id":"fb6d8028-db7d-4ef2-b175-740f0a7b8b39"}
[2026-05-11 11:17:35] 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":"a773fb28-5a0c-4b8f-a1b5-d57e6b81db90","trace_id":"fb6d8028-db7d-4ef2-b175-740f0a7b8b39"}
[2026-05-11 11:17:37] 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":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":615092} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":615092,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] 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":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [Prospect match] Cache miss, calling the API {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] 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":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.WARNING: [Hubspot] Received 429 from API {"team_id":2,"config_id":2,"retry_after":1,"reason":"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\":\"019e16c1-c (truncated...)
"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":1,"delay":4} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] 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":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614436} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614436,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] 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":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":1,"delay":3} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] 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":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614382} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614382,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] 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":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":1,"delay":1} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] 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":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614381} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614381,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] 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":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.WARNING: [Hubspot] Received 429 from API {"team_id":2,"config_id":2,"retry_after":1,"reason":"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\":\"019e16c1-c (truncated...)
"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":1,"delay":2} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [MatchActivityCrmData] Starting CRM data matching {"activity":614378,"remote_search":true,"set_configuration":2,"old_state":{"lead_id":null,"contact_id":6167,"account_id":null,"opportunity_id":null,"stage_id":null}} {"correlation_id":"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activit...
|
[{"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":"JY-20725-handle-HS-search-rate-limit, menu","depth":5,"bounds":{"left":0.064494684,"top":0.019952115,"width":0.09541223,"height":0.025538707},"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,"bounds":{"left":0.82413566,"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":"HandleHubspotRateLimitTest","depth":6,"bounds":{"left":0.8394282,"top":0.019952115,"width":0.076130316,"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 'HandleHubspotRateLimitTest'","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 'HandleHubspotRateLimitTest'","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":"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.37965426,"top":0.19952115,"width":0.007978723,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"67","depth":4,"bounds":{"left":0.38962767,"top":0.19952115,"width":0.009973404,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":4,"bounds":{"left":0.40159574,"top":0.19952115,"width":0.007978723,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.4112367,"top":0.19792499,"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.41855052,"top":0.19792499,"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":"<?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\\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 Illuminate\\Support\\Facades\\Redis;\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\n public function __construct(\n SocialAccountService $socialAccountService,\n HubspotPaginationService $paginationService,\n HubspotTokenManager $tokenManager\n ) {\n parent::__construct($socialAccountService);\n $this->paginationService = $paginationService;\n $this->tokenManager = $tokenManager;\n\n $this->setBaseUrl(self::BASE_URL);\n $this->setVersion(self::MIN_API_VERSION);\n }\n\n /**\n * Reacts to a rate limits (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 $cacheKey = $this->getRateLimitCacheKey();\n\n $cachedRetryAfter = Redis::get($cacheKey);\n if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {\n throw new RateLimitException(\n 'Hubspot rate limit (cached circuit-breaker)',\n (int) $cachedRetryAfter,\n );\n }\n\n try {\n return $apiCall();\n } catch (Throwable $e) {\n if ($this->isHubspotRateLimit($e)) {\n $retryAfter = $this->parseRetryAfter($e);\n\n Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);\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 getRateLimitCacheKey(): string\n {\n return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());\n }\n\n public function isHubspotRateLimit(Throwable $e): bool\n {\n if ($e instanceof BadRequest\n || $e instanceof DealApiException\n || $e instanceof ContactApiException\n || $e instanceof CompanyApiException\n || $e instanceof \\GuzzleHttp\\Exception\\RequestException\n ) {\n return (int) $e->getCode() === 429;\n }\n\n return false;\n }\n\n public 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 $message = strtolower($e->getMessage());\n\n if (str_contains($message, 'daily')) {\n return 600;\n }\n if (str_contains($message, 'ten secondly')) {\n return 10;\n }\n if (str_contains($message, 'secondly')) {\n return 1;\n }\n\n $this->log->warning('[Hubspot] No retry-after header or known message, using default', [\n 'exception_class' => get_class($e),\n 'message' => $message,\n ]);\n\n return 10;\n }\n\n public function parseMessage(Throwable $e): string\n {\n if (! method_exists($e, 'getResponseBody')) {\n return '';\n }\n\n $body = $e->getResponseBody();\n if (is_string($body)) {\n $body = json_decode($body, true) ?? [];\n }\n\n if (! is_array($body)) {\n return '';\n }\n\n return (string) ($body['message'] ?? '');\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 * Execute a search request against HubSpot CRM objects with rate limiting.\n *\n * @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')\n * @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.\n * @return array The search response with 'results', 'total', 'paging' keys\n * @throws RateLimitException When rate limit is hit\n * @throws HubspotException On API errors\n */\n public function search(string $objectType, array $payload): array\n {\n $endpoint = self::BASE_URL . \"/crm/v3/objects/{$objectType}/search\";\n\n return $this->executeRequest(function () use ($endpoint, $payload) {\n $response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);\n\n return $response->toArray();\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->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 return $this->getInstance()->getClient()?->request(\n method: $method,\n endpoint: $endpoint,\n query_string: $queryString\n );\n } else {\n return $this->getInstance()->getClient()->request($method, $endpoint, [\n 'json' => ($payload),\n ]);\n }\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 (RateLimitException $e) {\n// throw $e;\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\\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 Illuminate\\Support\\Facades\\Redis;\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\n public function __construct(\n SocialAccountService $socialAccountService,\n HubspotPaginationService $paginationService,\n HubspotTokenManager $tokenManager\n ) {\n parent::__construct($socialAccountService);\n $this->paginationService = $paginationService;\n $this->tokenManager = $tokenManager;\n\n $this->setBaseUrl(self::BASE_URL);\n $this->setVersion(self::MIN_API_VERSION);\n }\n\n /**\n * Reacts to a rate limits (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 $cacheKey = $this->getRateLimitCacheKey();\n\n $cachedRetryAfter = Redis::get($cacheKey);\n if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {\n throw new RateLimitException(\n 'Hubspot rate limit (cached circuit-breaker)',\n (int) $cachedRetryAfter,\n );\n }\n\n try {\n return $apiCall();\n } catch (Throwable $e) {\n if ($this->isHubspotRateLimit($e)) {\n $retryAfter = $this->parseRetryAfter($e);\n\n Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);\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 getRateLimitCacheKey(): string\n {\n return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());\n }\n\n public function isHubspotRateLimit(Throwable $e): bool\n {\n if ($e instanceof BadRequest\n || $e instanceof DealApiException\n || $e instanceof ContactApiException\n || $e instanceof CompanyApiException\n || $e instanceof \\GuzzleHttp\\Exception\\RequestException\n ) {\n return (int) $e->getCode() === 429;\n }\n\n return false;\n }\n\n public 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 $message = strtolower($e->getMessage());\n\n if (str_contains($message, 'daily')) {\n return 600;\n }\n if (str_contains($message, 'ten secondly')) {\n return 10;\n }\n if (str_contains($message, 'secondly')) {\n return 1;\n }\n\n $this->log->warning('[Hubspot] No retry-after header or known message, using default', [\n 'exception_class' => get_class($e),\n 'message' => $message,\n ]);\n\n return 10;\n }\n\n public function parseMessage(Throwable $e): string\n {\n if (! method_exists($e, 'getResponseBody')) {\n return '';\n }\n\n $body = $e->getResponseBody();\n if (is_string($body)) {\n $body = json_decode($body, true) ?? [];\n }\n\n if (! is_array($body)) {\n return '';\n }\n\n return (string) ($body['message'] ?? '');\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 * Execute a search request against HubSpot CRM objects with rate limiting.\n *\n * @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')\n * @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.\n * @return array The search response with 'results', 'total', 'paging' keys\n * @throws RateLimitException When rate limit is hit\n * @throws HubspotException On API errors\n */\n public function search(string $objectType, array $payload): array\n {\n $endpoint = self::BASE_URL . \"/crm/v3/objects/{$objectType}/search\";\n\n return $this->executeRequest(function () use ($endpoint, $payload) {\n $response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);\n\n return $response->toArray();\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->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 return $this->getInstance()->getClient()?->request(\n method: $method,\n endpoint: $endpoint,\n query_string: $queryString\n );\n } else {\n return $this->getInstance()->getClient()->request($method, $endpoint, [\n 'json' => ($payload),\n ]);\n }\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 (RateLimitException $e) {\n// throw $e;\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":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Show Replace Field","depth":4,"bounds":{"left":0.42985374,"top":0.105347164,"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":"AXCheckBox","text":"Search History","depth":3,"bounds":{"left":0.4424867,"top":0.10454908,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"429","depth":4,"bounds":{"left":0.45345744,"top":0.10454908,"width":0.043882977,"height":0.015961692},"on_screen":true,"value":"429","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"New Line","depth":3,"bounds":{"left":0.5063165,"top":0.10454908,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Match Case","depth":3,"bounds":{"left":0.5162899,"top":0.10454908,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Words","depth":3,"bounds":{"left":0.5249335,"top":0.10454908,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Regex","depth":3,"bounds":{"left":0.53357714,"top":0.10454908,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Replace History","depth":3,"bounds":{"left":0.27027926,"top":1.0,"width":0.00731383,"height":0.0},"on_screen":false,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextField","text":"Replace","depth":4,"on_screen":false,"role_description":"text field","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"New Line","depth":3,"bounds":{"left":0.27027926,"top":1.0,"width":0.00731383,"height":0.0},"on_screen":false,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Preserve case","depth":3,"bounds":{"left":0.27027926,"top":1.0,"width":0.00731383,"height":0.0},"on_screen":false,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"23/38","depth":4,"bounds":{"left":0.5472075,"top":0.103751,"width":0.025598405,"height":0.017557861},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Occurrence","depth":4,"bounds":{"left":0.5728058,"top":0.10295291,"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":"Next Occurrence","depth":4,"bounds":{"left":0.58144945,"top":0.10295291,"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":"Filter Search Results","depth":4,"bounds":{"left":0.5900931,"top":0.10295291,"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 in Window, Multiple Cursors","depth":4,"bounds":{"left":0.5987367,"top":0.10295291,"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":"AXLink","text":"Click to highlight","depth":4,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":4,"bounds":{"left":0.7250665,"top":0.10295291,"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":"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":"AXTextArea","text":"[2026-05-11 11:17:21] local.NOTICE: Monitoring start {\"correlation_id\":\"885fde59-3852-4120-a620-af3da7ecce17\",\"trace_id\":\"4cc10f53-5d39-418d-8e98-fe53d9bbff5f\"}\n[2026-05-11 11:17:21] local.NOTICE: Monitoring end {\"correlation_id\":\"885fde59-3852-4120-a620-af3da7ecce17\",\"trace_id\":\"4cc10f53-5d39-418d-8e98-fe53d9bbff5f\"}\n[2026-05-11 11:17:34] 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\":\"a773fb28-5a0c-4b8f-a1b5-d57e6b81db90\",\"trace_id\":\"fb6d8028-db7d-4ef2-b175-740f0a7b8b39\"}\n[2026-05-11 11:17:35] 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\":\"a773fb28-5a0c-4b8f-a1b5-d57e6b81db90\",\"trace_id\":\"fb6d8028-db7d-4ef2-b175-740f0a7b8b39\"}\n[2026-05-11 11:17:37] 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\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] 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\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] 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\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] 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\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":1,\"reason\":\"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\\\":\\\"019e16c1-c (truncated...)\n\"} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":4} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] 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\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] 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\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":3} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] 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\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] 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\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":1} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] 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\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] 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\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":1,\"reason\":\"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\\\":\\\"019e16c1-c (truncated...)\n\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":2} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":614378,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":6167,\"account_id\":null,\"opportunity_id\":null,\"stage_id\":null}} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] 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\":6167,\"lead_id\":null},{\"id\":1002625,\"user_id\":89,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":3} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613840,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613840} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613840,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":261} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":299} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613840,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613840} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613840,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613833,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613833} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613833,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":1.0,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613833,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613833} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613833,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613827,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613827} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613827,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613827,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613827} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613827,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613826,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613826} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613826,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613826,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613826} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613826,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613820,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613820} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613820,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613820,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613820} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613820,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613818,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613818} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613818,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613818,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613818} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613818,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613812,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613812} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613812,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613812,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613812} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613812,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613807,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4484,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613807} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613807,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":4484,\"lead_id\":null}]} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":243,\"contact_id\":4484,\"owner_id\":253} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":243,\"contact_id\":4484} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":243,\"contact_id\":4484,\"opportunity_id\":276} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"tsvetomir.banovski@gmail.com\"} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613807,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613807} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613807,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613806,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613806} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613806,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":253} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":244,\"contact_id\":4487} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":350} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613806,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613806} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613806,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613805,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613805} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613805,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613805,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613805} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613805,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613698,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613698} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613698,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613698,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613698} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613698,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613697,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613697} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613697,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613697,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613697} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613697,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613696,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613696} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613696,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613696,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613696} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613696,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613695,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613695} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613695,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613695,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613695} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613695,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613694,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613694} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613694,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613694,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613694} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613694,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613157,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613157} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613157,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613157,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613157} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613157,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613156,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613156} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613156,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613156,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613156} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613156,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:process\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"859a4ec6-5c81-4283-bb96-c3ebaf5ff599\",\"trace_id\":\"f8a2783e-c54a-4d43-8cf6-61594479b0e7\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613155,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613155} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613155,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EmailSchedule] STARTING batch process {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"859a4ec6-5c81-4283-bb96-c3ebaf5ff599\",\"trace_id\":\"f8a2783e-c54a-4d43-8cf6-61594479b0e7\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613155,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613155} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613155,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EmailSchedule] FINISHED batch process {\"host\":\"docker_lamp_1\",\"processed\":0} {\"correlation_id\":\"859a4ec6-5c81-4283-bb96-c3ebaf5ff599\",\"trace_id\":\"f8a2783e-c54a-4d43-8cf6-61594479b0e7\"}\n[2026-05-11 11:17:42] 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\":\"859a4ec6-5c81-4283-bb96-c3ebaf5ff599\",\"trace_id\":\"f8a2783e-c54a-4d43-8cf6-61594479b0e7\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613130,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613130} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613130,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613130,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613130} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613130,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":165,\"stage_id\":89}} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612924} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612924,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":69,\"contact_id\":97,\"owner_id\":19} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":69,\"contact_id\":97,\"opportunity_id\":165} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612924,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612924} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612924,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":165,\"stage_id\":89}} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612923} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612923,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612923,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612923} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612923,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":165,\"stage_id\":89}} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612922} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612922,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612922,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612922} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612922,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612847,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612847,\"participants\":[{\"id\":1000130,\"user_id\":null,\"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\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] 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\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] 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\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":1,\"reason\":\"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\\\":\\\"019e16c1-d (truncated...)\n\"} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":5} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612822,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612822} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612822,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] 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\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] 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\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612822,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612822} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612822,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] 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\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612819,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] 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\":null,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] 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\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:47] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":1,\"reason\":\"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\\\":\\\"019e16c1-e (truncated...)\n\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:47] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":4} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612673,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612673} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612673,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] 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\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] 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\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612673,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612673} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612673,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] 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\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612642,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612642} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612642,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] 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\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] 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\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612642,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612642} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612642,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] 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\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612598} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612598,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] 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\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":243,\"contact_id\":4491,\"owner_id\":206} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":243,\"contact_id\":4491} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":243,\"contact_id\":4491,\"opportunity_id\":276} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] 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\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612598,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612598} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612598,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] 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\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612597} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612597,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] 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\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] 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\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:54] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612597,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612597} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612597,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:54] 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\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17: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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612596} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612596,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17: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\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17: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\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17: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\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612596} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612596,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17: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\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612595} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612595,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] 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\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] 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\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612595,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612595} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612595,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] 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\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612594} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612594,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] 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\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] 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\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612594,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612594} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612594,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] 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\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612593} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612593,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612593,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612593} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612593,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612592} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612592,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] 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\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612592,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612592} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612592,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] 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\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612591} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612591,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] 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\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612591,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612591} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612591,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612590} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612590,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612590,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612590} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612590,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612589} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612589,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612589,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612589} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612589,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612588} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612588,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612588,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612588} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612588,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":16.99,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:02] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612587} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612587,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612587,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612587} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612587,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612586} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612586,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612586,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612586} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612586,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612585} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612585,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] 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\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] 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\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612585,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612585} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612585,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] 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\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612584} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612584,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:05] 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\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] 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\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612584,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612584} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612584,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] 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\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612583} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612583,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] 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\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] 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\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612583,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612583} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612583,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:08] 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\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612582} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612582,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] 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\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] 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\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612582,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612582} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612582,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:10] 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\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612581} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612581,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] 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\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":4.14,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:11] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:12] 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\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:12] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612581,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:12] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612581} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:12] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612581,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:12] 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\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612565} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612565,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] 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\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:create\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"feff8215-75fe-40b2-916e-951435e048aa\",\"trace_id\":\"46d069ed-7c2b-4fdc-9679-9ec571a88271\"}\n[2026-05-11 11:18:15] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] 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\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612565,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612565} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612565,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:16] 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\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:16] local.INFO: [EmailSchedule] STARTING batch create {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"feff8215-75fe-40b2-916e-951435e048aa\",\"trace_id\":\"46d069ed-7c2b-4fdc-9679-9ec571a88271\"}\n[2026-05-11 11:18:16] 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\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:16] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612563} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:16] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612563,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:16] 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\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] 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\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":206} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":244,\"contact_id\":4487} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":350} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: [EmailSchedule] FINISHED batch create {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"feff8215-75fe-40b2-916e-951435e048aa\",\"trace_id\":\"46d069ed-7c2b-4fdc-9679-9ec571a88271\"}\n[2026-05-11 11:18:18] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"mailbox:batch:create\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"feff8215-75fe-40b2-916e-951435e048aa\",\"trace_id\":\"46d069ed-7c2b-4fdc-9679-9ec571a88271\"}\n[2026-05-11 11:18:18] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:19] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612563,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:19] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612563} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:19] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612563,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:19] 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\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:19] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":3.06,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:19] local.INFO: [Jiminny\\Jobs\\Mailbox\\CreateBatches] processed 2 inboxes and created 0 batches {\"userId\":null,\"batchSize\":30,\"maxBatches\":1000} {\"correlation_id\":\"5a640073-717d-40da-ad67-be02e37c56a2\",\"trace_id\":\"46d069ed-7c2b-4fdc-9679-9ec571a88271\"}\n[2026-05-11 11:18:20] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612562} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612562,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:21] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:21] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:21] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:22] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"447782589921@txt.staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:22] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:22] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:22] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:22] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:22] 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.32,\"average_seconds_per_request\":0.32} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612562,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612562} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612562,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612561} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612561,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] 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\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] 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\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\"} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612561,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612561} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612561,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612560} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612560,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"447782589921@txt.staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612560,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612560} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612560,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":1.89,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:26] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612559} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612559,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] 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\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] 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\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":69,\"contact_id\":97,\"owner_id\":206} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":69,\"contact_id\":97} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":69,\"contact_id\":97,\"opportunity_id\":5011} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612559,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612559} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612559,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] 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\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612558} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612558,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612558,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612558} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612558,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612557} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612557,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612557,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612557} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612557,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612556} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612556,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612556,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612556} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612556,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612555} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612555,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612555,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612555} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612555,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612554} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612554,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612554,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612554} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612554,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612553} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612553,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] 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\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612553,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612553} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612553,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] 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\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612552} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612552,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612552,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612552} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612552,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612551} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612551,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612551,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612551} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612551,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612550} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612550,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612550,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612550} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612550,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612549} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612549,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612549,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612549} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612549,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612365,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612365} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612365,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":243,\"contact_id\":4491,\"owner_id\":206} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":243,\"contact_id\":4491} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":243,\"contact_id\":4491,\"opportunity_id\":276} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612365,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612365} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612365,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612360,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612360} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612360,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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.29,\"average_seconds_per_request\":0.29} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612360,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612360} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612360,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612340,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612340} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612340,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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.34,\"average_seconds_per_request\":0.34} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612340,\"participants_processed\":4,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612340} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612340,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.75,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:32] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612339,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612339} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612339,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612339,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612339} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612339,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612336,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612336} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612336,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612336,\"participants_processed\":4,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612336} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612336,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612183,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612183} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612183,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":261} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":299} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612183,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612183} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612183,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612182,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612182} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612182,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612182,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612182} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612182,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612181,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612181} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612181,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612181,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612181} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612181,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612180,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612180} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612180,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612180,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612180} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612180,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611455} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611455,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:35] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:35] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:35] 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.27,\"average_seconds_per_request\":0.27} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611455,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611455} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611455,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611451} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] 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\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] 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\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] 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\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:37] 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.25,\"average_seconds_per_request\":0.25} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:37] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:37] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:37] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:37] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:37] 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\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:38] 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.44,\"average_seconds_per_request\":0.44} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] 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\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":3.16,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611451,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611451} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] 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\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611087} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611087,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] 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\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] 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\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611087,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611087} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611087,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] 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\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611076} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611076,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] 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\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] 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\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611076,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611076} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611076,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] 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\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610935} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610935,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610935,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610935} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610935,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610915} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610915,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610915,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610915} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610915,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610900} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610900,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610900,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610900} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610900,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610885} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610885,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610885,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610885} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610885,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610878} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610878,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610878,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610878} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610878,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610874} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610874,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610874,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610874} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610874,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610867} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610867,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610867,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610867} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610867,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610764} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610764,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610764,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610764} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610764,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610617} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610617,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610617,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610617} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610617,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610539} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610539,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610539,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610539} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610539,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.4,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:46] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610528} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610528,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610528,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610528} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610528,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610506} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610506,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610506,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610506} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610506,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610497} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610497,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610497,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610497} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610497,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610490} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610490,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610490,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610490} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610490,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610470} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610470,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610470,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610470} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610470,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610462} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610462,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610462,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610462} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610462,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610451} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610451,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610451} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610438} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610438,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610438,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610438} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610438,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610426} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610426,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610426,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610426} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610426,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610403} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610403,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610403,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610403} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610403,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610400} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610400,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":1460} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":244,\"contact_id\":4487} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":350} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610400,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610400} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610400,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] 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}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18: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\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18: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.51,\"average_seconds_per_request\":0.51} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:49] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:49] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:49] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:49] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18: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}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:49] 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.35,\"average_seconds_per_request\":0.35} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:50] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":614382,\"team_id\":2,\"email\":\"nikolay.nikolov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:50] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614382,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:50] 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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:50] 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}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] 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}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":614381,\"team_id\":2,\"email\":\"nikolay.nikolov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614381,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] 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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] 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}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] 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}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18: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\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":615092,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18: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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18: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}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18: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}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18: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\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614436,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18: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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":614378,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":6167,\"account_id\":null,\"opportunity_id\":null,\"stage_id\":null}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:50] 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\":6167,\"lead_id\":null},{\"id\":1002625,\"user_id\":89,\"contact_id\":null,\"lead_id\":null}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nmalchev@gmail.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18: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\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614378,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18: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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612847,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612847,\"participants\":[{\"id\":1000130,\"user_id\":null,\"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}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.84,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:51] 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\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:52] 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.28,\"average_seconds_per_request\":0.28} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:52] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"adelina.petrova@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:52] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:52] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:52] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:52] 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}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:53] 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.43,\"average_seconds_per_request\":0.43} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:53] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612847,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:53] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:53] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612847,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18: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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:54] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612819,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18: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\":null,\"contact_id\":null,\"lead_id\":null}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18: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\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"adelina.petrova@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612819,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18: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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:57] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.25,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:19:07] 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\":\"70d16739-7654-4185-99cb-49559aafc660\",\"trace_id\":\"d100f21a-5975-471a-b245-90b25b177c8f\"}\n[2026-05-11 11:19:07] local.INFO: [ScheduleBotCommand] Number of activities to be captured: 0 {\"correlation_id\":\"70d16739-7654-4185-99cb-49559aafc660\",\"trace_id\":\"d100f21a-5975-471a-b245-90b25b177c8f\"}\n[2026-05-11 11:19:07] 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\":\"70d16739-7654-4185-99cb-49559aafc660\",\"trace_id\":\"d100f21a-5975-471a-b245-90b25b177c8f\"}\n[2026-05-11 11:19:12] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"dialers:monitor-activities\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"91df8068-6c15-4614-947e-90f48574662c\",\"trace_id\":\"a9a86198-7521-4c0c-a89e-d23b34f2f8bf\"}\n[2026-05-11 11:19:12] 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\":\"91df8068-6c15-4614-947e-90f48574662c\",\"trace_id\":\"a9a86198-7521-4c0c-a89e-d23b34f2f8bf\"}\n[2026-05-11 11:19:15] local.NOTICE: Monitoring start {\"correlation_id\":\"6fae005c-3fcd-4718-86b0-f08f140f889c\",\"trace_id\":\"233ad400-a3ad-4093-8660-9e477cd6ca8f\"}\n[2026-05-11 11:19:15] local.NOTICE: Monitoring end {\"correlation_id\":\"6fae005c-3fcd-4718-86b0-f08f140f889c\",\"trace_id\":\"233ad400-a3ad-4093-8660-9e477cd6ca8f\"}\n[2026-05-11 11:19:18] 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\":\"08b79017-e665-425f-8048-21f93b1abf3b\",\"trace_id\":\"bb7a7ea5-30d3-4a13-9c3c-84bc1f9c26e7\"}\n[2026-05-11 11:19:18] 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\":\"08b79017-e665-425f-8048-21f93b1abf3b\",\"trace_id\":\"bb7a7ea5-30d3-4a13-9c3c-84bc1f9c26e7\"}\n[2026-05-11 11:19:21] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:process\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"0c31163b-b05f-4d3f-9a66-a2ce01d94010\",\"trace_id\":\"3dfb6352-28a3-4c77-b6ff-a11e0a7821a0\"}\n[2026-05-11 11:19:21] local.INFO: [EmailSchedule] STARTING batch process {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"0c31163b-b05f-4d3f-9a66-a2ce01d94010\",\"trace_id\":\"3dfb6352-28a3-4c77-b6ff-a11e0a7821a0\"}\n[2026-05-11 11:19:22] local.INFO: [EmailSchedule] FINISHED batch process {\"host\":\"docker_lamp_1\",\"processed\":0} {\"correlation_id\":\"0c31163b-b05f-4d3f-9a66-a2ce01d94010\",\"trace_id\":\"3dfb6352-28a3-4c77-b6ff-a11e0a7821a0\"}\n[2026-05-11 11:19:22] 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\":\"0c31163b-b05f-4d3f-9a66-a2ce01d94010\",\"trace_id\":\"3dfb6352-28a3-4c77-b6ff-a11e0a7821a0\"}\n[2026-05-11 11:20:08] 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\":\"cb3a4a64-b00b-4f94-9e00-c190cd7a7a42\",\"trace_id\":\"acd43b75-f255-471f-9563-f03de03c7e23\"}\n[2026-05-11 11:20:08] local.INFO: [ScheduleBotCommand] Number of activities to be captured: 0 {\"correlation_id\":\"cb3a4a64-b00b-4f94-9e00-c190cd7a7a42\",\"trace_id\":\"acd43b75-f255-471f-9563-f03de03c7e23\"}\n[2026-05-11 11:20:08] 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\":\"cb3a4a64-b00b-4f94-9e00-c190cd7a7a42\",\"trace_id\":\"acd43b75-f255-471f-9563-f03de03c7e23\"}\n[2026-05-11 11:20:10] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"dialers:monitor-activities\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"8ab6728e-9079-4166-bf97-fed4fb2ac7de\",\"trace_id\":\"508ecd6c-81db-47d4-8fad-d40b1e55cff3\"}\n[2026-05-11 11:20:10] 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\":\"8ab6728e-9079-4166-bf97-fed4fb2ac7de\",\"trace_id\":\"508ecd6c-81db-47d4-8fad-d40b1e55cff3\"}\n[2026-05-11 11:20:13] local.NOTICE: Monitoring start {\"correlation_id\":\"98b2a767-ff2a-4f82-866f-bf7dad58fe13\",\"trace_id\":\"ecb25ade-8dda-4d47-8bce-6b84e3c8fd0c\"}\n[2026-05-11 11:20:13] local.NOTICE: Monitoring end {\"correlation_id\":\"98b2a767-ff2a-4f82-866f-bf7dad58fe13\",\"trace_id\":\"ecb25ade-8dda-4d47-8bce-6b84e3c8fd0c\"}\n[2026-05-11 11:20:15] 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\":\"05f19e62-48e4-4c36-9577-648a2dd54abd\",\"trace_id\":\"e3d3acd1-5c23-4f37-9566-32a0cbd7a4eb\"}\n[2026-05-11 11:20:16] 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\":\"05f19e62-48e4-4c36-9577-648a2dd54abd\",\"trace_id\":\"e3d3acd1-5c23-4f37-9566-32a0cbd7a4eb\"}\n[2026-05-11 11:20:18] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:process\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"d5c19bc5-1a17-4b6d-9f62-a6715a8005c9\",\"trace_id\":\"451385cf-1bcd-4e06-8412-e5d197f5f567\"}\n[2026-05-11 11:20:18] local.INFO: [EmailSchedule] STARTING batch process {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"d5c19bc5-1a17-4b6d-9f62-a6715a8005c9\",\"trace_id\":\"451385cf-1bcd-4e06-8412-e5d197f5f567\"}\n[2026-05-11 11:20:18] local.INFO: [EmailSchedule] FINISHED batch process {\"host\":\"docker_lamp_1\",\"processed\":0} {\"correlation_id\":\"d5c19bc5-1a17-4b6d-9f62-a6715a8005c9\",\"trace_id\":\"451385cf-1bcd-4e06-8412-e5d197f5f567\"}\n[2026-05-11 11:20:18] 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\":\"d5c19bc5-1a17-4b6d-9f62-a6715a8005c9\",\"trace_id\":\"451385cf-1bcd-4e06-8412-e5d197f5f567\"}\n[2026-05-11 11:20:23] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:monitor:count\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"a01c4c40-1c1e-4865-be1f-0aa63b4fd1b9\",\"trace_id\":\"cba182ec-cbe6-4d53-b1c6-253546138cc8\"}\n[2026-05-11 11:20:23] local.INFO: Running conference:monitor:count command for activities in (2026-05-11 11:18:00, 2026-05-11 11:20:00] {\"correlation_id\":\"a01c4c40-1c1e-4865-be1f-0aa63b4fd1b9\",\"trace_id\":\"cba182ec-cbe6-4d53-b1c6-253546138cc8\"}\n[2026-05-11 11:20:23] local.INFO: [conference:monitor:count] No activities found in (2026-05-11 11:18:00, 2026-05-11 11:20:00] {\"correlation_id\":\"a01c4c40-1c1e-4865-be1f-0aa63b4fd1b9\",\"trace_id\":\"cba182ec-cbe6-4d53-b1c6-253546138cc8\"}\n[2026-05-11 11:20:23] 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\":\"a01c4c40-1c1e-4865-be1f-0aa63b4fd1b9\",\"trace_id\":\"cba182ec-cbe6-4d53-b1c6-253546138cc8\"}\n[2026-05-11 11:20:25] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"activity:purge-stale\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"b599f338-6a44-44d5-9f81-6fa300c4ea1b\",\"trace_id\":\"c7645418-4758-4410-83f2-8fe71ebf2ec2\"}\n[2026-05-11 11:20:25] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"activity:purge-stale\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"b599f338-6a44-44d5-9f81-6fa300c4ea1b\",\"trace_id\":\"c7645418-4758-4410-83f2-8fe71ebf2ec2\"}\n[2026-05-11 11:20:28] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:text-relay:sync\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"3c9d7674-d005-4372-8a60-2e8ecb587584\",\"trace_id\":\"22a0bdee-d653-4113-963c-043a68a4a8be\"}\n[2026-05-11 11:20:29] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"mailbox:text-relay:sync\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"3c9d7674-d005-4372-8a60-2e8ecb587584\",\"trace_id\":\"22a0bdee-d653-4113-963c-043a68a4a8be\"}\n[2026-05-11 11:20:31] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:pre-meeting-notification\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"1453203b-bac8-47ba-ac62-6369ac533fc2\",\"trace_id\":\"f176800e-9da8-4580-a332-56fa3402dbb7\"}\n[2026-05-11 11:20:31] local.INFO: Running pre-meeting notification command {\"correlation_id\":\"1453203b-bac8-47ba-ac62-6369ac533fc2\",\"trace_id\":\"f176800e-9da8-4580-a332-56fa3402dbb7\"}\n[2026-05-11 11:20:31] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"conference:pre-meeting-notification\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"1453203b-bac8-47ba-ac62-6369ac533fc2\",\"trace_id\":\"f176800e-9da8-4580-a332-56fa3402dbb7\"}\n[2026-05-11 11:20:33] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:monitor:start\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"2310f110-1f7e-4a28-b0c3-e5f8fc72688f\",\"trace_id\":\"9d6e8217-2f4e-4b23-8f36-8538f57064d9\"}\n[2026-05-11 11:20:33] local.INFO: Running conference:monitor:start command for activities in (2026-05-11 11:10:00, 2026-05-11 11:15:00] {\"correlation_id\":\"2310f110-1f7e-4a28-b0c3-e5f8fc72688f\",\"trace_id\":\"9d6e8217-2f4e-4b23-8f36-8538f57064d9\"}\n[2026-05-11 11:20:33] local.INFO: [conference:monitor:start] No activities found in (2026-05-11 11:10:00, 2026-05-11 11:15:00] {\"correlation_id\":\"2310f110-1f7e-4a28-b0c3-e5f8fc72688f\",\"trace_id\":\"9d6e8217-2f4e-4b23-8f36-8538f57064d9\"}\n[2026-05-11 11:20:33] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"conference:monitor:start\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"2310f110-1f7e-4a28-b0c3-e5f8fc72688f\",\"trace_id\":\"9d6e8217-2f4e-4b23-8f36-8538f57064d9\"}\n[2026-05-11 11:20:37] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:monitor:end\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"48a2dc23-76e1-4b34-b8a7-a7a957c71373\",\"trace_id\":\"b1788ca3-54cf-4031-b198-102838446996\"}\n[2026-05-11 11:20:37] local.INFO: conference:monitor:end:Jiminny\\Console\\Commands\\Activities\\MonitorMeetingEndCommand::logActivitiesEnded {\"from\":\"11:15\",\"to\":\"11:20\"} {\"correlation_id\":\"48a2dc23-76e1-4b34-b8a7-a7a957c71373\",\"trace_id\":\"b1788ca3-54cf-4031-b198-102838446996\"}\n[2026-05-11 11:20:38] local.INFO: conference:monitor:end:Jiminny\\Console\\Commands\\Activities\\MonitorMeetingEndCommand::logActivitiesWithUnfinishedSession {\"from\":\"01:10\",\"to\":\"01:15\"} {\"correlation_id\":\"48a2dc23-76e1-4b34-b8a7-a7a957c71373\",\"trace_id\":\"b1788ca3-54cf-4031-b198-102838446996\"}\n[2026-05-11 11:20:38] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"conference:monitor:end\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"48a2dc23-76e1-4b34-b8a7-a7a957c71373\",\"trace_id\":\"b1788ca3-54cf-4031-b198-102838446996\"}\n[2026-05-11 11:20:41] local.NOTICE: Repairing HubSpot tokens start {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: Trying to refresh HubSpot token {\"account_id\":59,\"updated_at\":\"2025-10-03 09:32:05\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: [SocialAccountService] Refreshing token from provider {\"socialAccountId\":59,\"provider\":\"hubspot\",\"refreshToken\":\"97b78f6e2cc49965c00c2492b602b02708b1392551e6b3f113fbaa48992af90b\",\"state\":\"full-refresh\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.ERROR: Failed to refresh HubSpot token {\"account_id\":59,\"updated_at\":\"2025-10-03 09:32:05\",\"reason\":\"missing or invalid refresh token\",\"previous\":\"\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: Trying to refresh HubSpot token {\"account_id\":306,\"updated_at\":\"2023-11-27 09:30:03\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: [SocialAccountService] Refreshing token from provider {\"socialAccountId\":306,\"provider\":\"hubspot\",\"refreshToken\":\"6fa6aa8cc641d131231acc3470f5c03cb3b07b2e580fb18f8acb3b1dbb72549b\",\"state\":\"full-refresh\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.ERROR: Failed to refresh HubSpot token {\"account_id\":306,\"updated_at\":\"2023-11-27 09:30:03\",\"reason\":\"missing or invalid refresh token\",\"previous\":\"\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: Trying to refresh HubSpot token {\"account_id\":1372,\"updated_at\":\"2025-10-02 14:47:06\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: [SocialAccountService] Refreshing token from provider {\"socialAccountId\":1372,\"provider\":\"hubspot\",\"refreshToken\":\"9aa73948c761da29dce46c177cf9aee1fde483a44169ca38723f9f0597d7a8c4\",\"state\":\"full-refresh\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:43] local.ERROR: Failed to refresh HubSpot token {\"account_id\":1372,\"updated_at\":\"2025-10-02 14:47:06\",\"reason\":\"missing or invalid refresh token\",\"previous\":\"\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:43] local.NOTICE: Repairing HubSpot tokens end {\"total\":3,\"fixed\":0,\"failed\":3} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:48] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"jiminny:transcription:retry-failed\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"28cf48be-a629-420c-a0a4-0d20fbd05838\",\"trace_id\":\"4fdaba19-5d8e-45db-a600-da048c8066fb\"}\n[2026-05-11 11:20:48] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:pre-meeting-reminder\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"6a6c06af-94cf-46bf-976e-55e401b3a588\",\"trace_id\":\"338c3b84-fc5a-404b-bed6-97341331ae68\"}\n[2026-05-11 11:20:48] local.INFO: [HubSpot Journal Command] Starting polling service {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:48] local.INFO: [HubSpot Journal Polling] Service starting {\"memory_limit\":\"256M\",\"max_execution_time\":\"0\",\"initial_memory_mb\":60.0} {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:48] local.INFO: [HubSpot Journal Polling] Acquired polling lock {\"expires_at\":\"2026-05-11T11:22:48.807561Z\"} {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:48] local.INFO: [HubSpot Journal Auth] Requesting new client credentials token {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:48] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"jiminny:transcription:retry-failed\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"28cf48be-a629-420c-a0a4-0d20fbd05838\",\"trace_id\":\"4fdaba19-5d8e-45db-a600-da048c8066fb\"}\n[2026-05-11 11:20:49] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"conference:pre-meeting-reminder\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"6a6c06af-94cf-46bf-976e-55e401b3a588\",\"trace_id\":\"338c3b84-fc5a-404b-bed6-97341331ae68\"}\n[2026-05-11 11:20:49] local.INFO: [HubSpot Journal Auth] Successfully obtained new access token {\"expires_in\":1800,\"cached_for\":1500} {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:49] local.INFO: [HubSpot Journal Polling] No data {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:53] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"crm:reset-governor\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"c8d52370-b908-428c-b973-699db0be2136\",\"trace_id\":\"fabc1f54-e263-4ba0-b8ff-324f62e84f1f\"}\n[2026-05-11 11:20:53] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"crm:reset-governor\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"c8d52370-b908-428c-b973-699db0be2136\",\"trace_id\":\"fabc1f54-e263-4ba0-b8ff-324f62e84f1f\"}\n[2026-05-11 11:20:54] local.INFO: [HubSpot Journal Polling] No data {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:56] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"crm:bullhorn:ping\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"de84a4c9-d2c5-4950-8c2d-f400cee667bf\",\"trace_id\":\"223fd9b2-ed24-4083-98cd-1bc4040dbbd1\"}\n[2026-05-11 11:20:57] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"crm:bullhorn:ping\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"de84a4c9-d2c5-4950-8c2d-f400cee667bf\",\"trace_id\":\"223fd9b2-ed24-4083-98cd-1bc4040dbbd1\"}\n[2026-05-11 11:20:59] local.INFO: [HubSpot Journal Polling] No data {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}","depth":4,"on_screen":true,"value":"[2026-05-11 11:17:21] local.NOTICE: Monitoring start {\"correlation_id\":\"885fde59-3852-4120-a620-af3da7ecce17\",\"trace_id\":\"4cc10f53-5d39-418d-8e98-fe53d9bbff5f\"}\n[2026-05-11 11:17:21] local.NOTICE: Monitoring end {\"correlation_id\":\"885fde59-3852-4120-a620-af3da7ecce17\",\"trace_id\":\"4cc10f53-5d39-418d-8e98-fe53d9bbff5f\"}\n[2026-05-11 11:17:34] 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\":\"a773fb28-5a0c-4b8f-a1b5-d57e6b81db90\",\"trace_id\":\"fb6d8028-db7d-4ef2-b175-740f0a7b8b39\"}\n[2026-05-11 11:17:35] 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\":\"a773fb28-5a0c-4b8f-a1b5-d57e6b81db90\",\"trace_id\":\"fb6d8028-db7d-4ef2-b175-740f0a7b8b39\"}\n[2026-05-11 11:17:37] 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\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] 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\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] 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\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] 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\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":1,\"reason\":\"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\\\":\\\"019e16c1-c (truncated...)\n\"} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":4} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] 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\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] 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\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":3} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] 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\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] 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\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":1} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] 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\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] 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\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":1,\"reason\":\"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\\\":\\\"019e16c1-c (truncated...)\n\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":2} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":614378,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":6167,\"account_id\":null,\"opportunity_id\":null,\"stage_id\":null}} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] 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\":6167,\"lead_id\":null},{\"id\":1002625,\"user_id\":89,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":3} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613840,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613840} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613840,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":261} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":299} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613840,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613840} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613840,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613833,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613833} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613833,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":1.0,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613833,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613833} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613833,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613827,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613827} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613827,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613827,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613827} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613827,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613826,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613826} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613826,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613826,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613826} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613826,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613820,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613820} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613820,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613820,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613820} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613820,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613818,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613818} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613818,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613818,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613818} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613818,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613812,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613812} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613812,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613812,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613812} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613812,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613807,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4484,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613807} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613807,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":4484,\"lead_id\":null}]} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":243,\"contact_id\":4484,\"owner_id\":253} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":243,\"contact_id\":4484} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":243,\"contact_id\":4484,\"opportunity_id\":276} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"tsvetomir.banovski@gmail.com\"} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613807,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613807} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613807,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613806,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613806} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613806,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":253} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":244,\"contact_id\":4487} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":350} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613806,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613806} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613806,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613805,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613805} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613805,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613805,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613805} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613805,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613698,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613698} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613698,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613698,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613698} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613698,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613697,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613697} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613697,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613697,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613697} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613697,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613696,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613696} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613696,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613696,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613696} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613696,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613695,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613695} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613695,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613695,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613695} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613695,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613694,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613694} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613694,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613694,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613694} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613694,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613157,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613157} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613157,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613157,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613157} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613157,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613156,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613156} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613156,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613156,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613156} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613156,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:process\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"859a4ec6-5c81-4283-bb96-c3ebaf5ff599\",\"trace_id\":\"f8a2783e-c54a-4d43-8cf6-61594479b0e7\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613155,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613155} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613155,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EmailSchedule] STARTING batch process {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"859a4ec6-5c81-4283-bb96-c3ebaf5ff599\",\"trace_id\":\"f8a2783e-c54a-4d43-8cf6-61594479b0e7\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613155,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613155} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613155,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EmailSchedule] FINISHED batch process {\"host\":\"docker_lamp_1\",\"processed\":0} {\"correlation_id\":\"859a4ec6-5c81-4283-bb96-c3ebaf5ff599\",\"trace_id\":\"f8a2783e-c54a-4d43-8cf6-61594479b0e7\"}\n[2026-05-11 11:17:42] 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\":\"859a4ec6-5c81-4283-bb96-c3ebaf5ff599\",\"trace_id\":\"f8a2783e-c54a-4d43-8cf6-61594479b0e7\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613130,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613130} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613130,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613130,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613130} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613130,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":165,\"stage_id\":89}} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612924} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612924,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":69,\"contact_id\":97,\"owner_id\":19} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":69,\"contact_id\":97,\"opportunity_id\":165} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612924,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612924} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612924,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":165,\"stage_id\":89}} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612923} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612923,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612923,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612923} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612923,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":165,\"stage_id\":89}} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612922} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612922,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612922,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612922} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612922,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612847,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612847,\"participants\":[{\"id\":1000130,\"user_id\":null,\"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\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] 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\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] 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\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":1,\"reason\":\"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\\\":\\\"019e16c1-d (truncated...)\n\"} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":5} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612822,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612822} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612822,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] 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\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] 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\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612822,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612822} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612822,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] 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\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612819,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] 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\":null,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] 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\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:47] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":1,\"reason\":\"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\\\":\\\"019e16c1-e (truncated...)\n\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:47] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":4} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612673,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612673} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612673,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] 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\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] 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\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612673,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612673} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612673,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] 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\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612642,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612642} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612642,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] 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\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] 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\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612642,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612642} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612642,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] 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\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612598} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612598,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] 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\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":243,\"contact_id\":4491,\"owner_id\":206} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":243,\"contact_id\":4491} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":243,\"contact_id\":4491,\"opportunity_id\":276} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] 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\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612598,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612598} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612598,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] 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\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612597} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612597,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] 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\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] 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\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:54] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612597,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612597} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612597,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:54] 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\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17: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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612596} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612596,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17: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\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17: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\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17: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\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612596} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612596,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17: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\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612595} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612595,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] 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\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] 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\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612595,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612595} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612595,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] 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\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612594} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612594,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] 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\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] 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\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612594,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612594} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612594,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] 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\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612593} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612593,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612593,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612593} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612593,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612592} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612592,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] 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\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612592,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612592} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612592,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] 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\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612591} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612591,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] 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\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612591,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612591} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612591,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612590} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612590,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612590,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612590} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612590,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612589} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612589,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612589,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612589} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612589,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612588} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612588,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612588,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612588} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612588,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":16.99,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:02] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612587} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612587,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612587,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612587} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612587,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612586} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612586,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612586,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612586} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612586,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612585} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612585,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] 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\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] 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\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612585,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612585} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612585,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] 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\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612584} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612584,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:05] 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\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] 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\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612584,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612584} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612584,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] 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\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612583} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612583,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] 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\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] 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\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612583,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612583} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612583,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:08] 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\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612582} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612582,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] 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\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] 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\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612582,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612582} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612582,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:10] 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\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612581} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612581,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] 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\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":4.14,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:11] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:12] 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\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:12] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612581,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:12] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612581} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:12] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612581,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:12] 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\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612565} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612565,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] 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\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:create\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"feff8215-75fe-40b2-916e-951435e048aa\",\"trace_id\":\"46d069ed-7c2b-4fdc-9679-9ec571a88271\"}\n[2026-05-11 11:18:15] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] 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\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612565,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612565} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612565,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:16] 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\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:16] local.INFO: [EmailSchedule] STARTING batch create {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"feff8215-75fe-40b2-916e-951435e048aa\",\"trace_id\":\"46d069ed-7c2b-4fdc-9679-9ec571a88271\"}\n[2026-05-11 11:18:16] 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\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:16] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612563} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:16] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612563,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:16] 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\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] 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\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":206} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":244,\"contact_id\":4487} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":350} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: [EmailSchedule] FINISHED batch create {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"feff8215-75fe-40b2-916e-951435e048aa\",\"trace_id\":\"46d069ed-7c2b-4fdc-9679-9ec571a88271\"}\n[2026-05-11 11:18:18] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"mailbox:batch:create\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"feff8215-75fe-40b2-916e-951435e048aa\",\"trace_id\":\"46d069ed-7c2b-4fdc-9679-9ec571a88271\"}\n[2026-05-11 11:18:18] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:19] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612563,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:19] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612563} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:19] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612563,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:19] 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\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:19] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":3.06,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:19] local.INFO: [Jiminny\\Jobs\\Mailbox\\CreateBatches] processed 2 inboxes and created 0 batches {\"userId\":null,\"batchSize\":30,\"maxBatches\":1000} {\"correlation_id\":\"5a640073-717d-40da-ad67-be02e37c56a2\",\"trace_id\":\"46d069ed-7c2b-4fdc-9679-9ec571a88271\"}\n[2026-05-11 11:18:20] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612562} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612562,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:21] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:21] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:21] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:22] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"447782589921@txt.staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:22] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:22] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:22] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:22] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:22] 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.32,\"average_seconds_per_request\":0.32} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612562,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612562} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612562,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612561} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612561,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] 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\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] 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\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\"} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612561,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612561} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612561,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612560} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612560,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"447782589921@txt.staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612560,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612560} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612560,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":1.89,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:26] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612559} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612559,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] 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\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] 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\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":69,\"contact_id\":97,\"owner_id\":206} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":69,\"contact_id\":97} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":69,\"contact_id\":97,\"opportunity_id\":5011} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612559,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612559} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612559,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] 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\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612558} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612558,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612558,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612558} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612558,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612557} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612557,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612557,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612557} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612557,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612556} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612556,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612556,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612556} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612556,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612555} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612555,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612555,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612555} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612555,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612554} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612554,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612554,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612554} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612554,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612553} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612553,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] 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\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612553,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612553} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612553,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] 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\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612552} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612552,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612552,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612552} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612552,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612551} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612551,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612551,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612551} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612551,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612550} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612550,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612550,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612550} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612550,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612549} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612549,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612549,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612549} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612549,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612365,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612365} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612365,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":243,\"contact_id\":4491,\"owner_id\":206} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":243,\"contact_id\":4491} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":243,\"contact_id\":4491,\"opportunity_id\":276} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612365,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612365} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612365,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612360,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612360} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612360,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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.29,\"average_seconds_per_request\":0.29} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612360,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612360} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612360,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612340,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612340} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612340,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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.34,\"average_seconds_per_request\":0.34} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612340,\"participants_processed\":4,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612340} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612340,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.75,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:32] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612339,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612339} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612339,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612339,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612339} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612339,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612336,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612336} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612336,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612336,\"participants_processed\":4,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612336} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612336,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612183,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612183} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612183,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":261} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":299} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612183,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612183} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612183,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612182,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612182} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612182,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612182,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612182} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612182,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612181,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612181} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612181,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612181,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612181} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612181,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612180,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612180} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612180,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612180,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612180} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612180,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611455} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611455,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:35] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:35] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:35] 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.27,\"average_seconds_per_request\":0.27} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611455,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611455} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611455,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611451} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] 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\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] 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\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] 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\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:37] 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.25,\"average_seconds_per_request\":0.25} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:37] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:37] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:37] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:37] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:37] 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\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:38] 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.44,\"average_seconds_per_request\":0.44} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] 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\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":3.16,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611451,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611451} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] 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\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611087} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611087,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] 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\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] 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\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611087,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611087} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611087,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] 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\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611076} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611076,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] 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\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] 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\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611076,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611076} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611076,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] 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\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610935} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610935,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610935,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610935} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610935,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610915} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610915,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610915,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610915} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610915,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610900} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610900,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610900,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610900} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610900,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610885} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610885,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610885,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610885} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610885,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610878} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610878,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610878,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610878} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610878,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610874} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610874,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610874,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610874} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610874,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610867} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610867,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610867,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610867} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610867,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610764} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610764,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610764,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610764} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610764,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610617} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610617,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610617,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610617} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610617,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610539} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610539,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610539,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610539} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610539,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.4,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:46] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610528} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610528,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610528,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610528} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610528,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610506} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610506,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610506,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610506} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610506,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610497} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610497,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610497,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610497} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610497,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610490} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610490,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610490,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610490} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610490,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610470} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610470,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610470,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610470} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610470,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610462} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610462,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610462,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610462} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610462,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610451} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610451,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610451} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610438} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610438,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610438,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610438} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610438,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610426} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610426,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610426,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610426} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610426,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610403} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610403,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610403,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610403} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610403,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610400} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610400,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":1460} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":244,\"contact_id\":4487} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":350} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610400,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610400} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610400,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] 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}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18: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\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18: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.51,\"average_seconds_per_request\":0.51} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:49] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:49] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:49] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:49] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18: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}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:49] 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.35,\"average_seconds_per_request\":0.35} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:50] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":614382,\"team_id\":2,\"email\":\"nikolay.nikolov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:50] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614382,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:50] 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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:50] 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}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] 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}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":614381,\"team_id\":2,\"email\":\"nikolay.nikolov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614381,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] 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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] 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}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] 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}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18: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\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":615092,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18: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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18: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}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18: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}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18: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\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614436,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18: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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":614378,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":6167,\"account_id\":null,\"opportunity_id\":null,\"stage_id\":null}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:50] 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\":6167,\"lead_id\":null},{\"id\":1002625,\"user_id\":89,\"contact_id\":null,\"lead_id\":null}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nmalchev@gmail.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18: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\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614378,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18: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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612847,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612847,\"participants\":[{\"id\":1000130,\"user_id\":null,\"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}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.84,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:51] 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\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:52] 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.28,\"average_seconds_per_request\":0.28} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:52] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"adelina.petrova@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:52] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:52] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:52] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:52] 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}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:53] 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.43,\"average_seconds_per_request\":0.43} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:53] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612847,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:53] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:53] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612847,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18: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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:54] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612819,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18: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\":null,\"contact_id\":null,\"lead_id\":null}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18: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\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"adelina.petrova@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612819,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18: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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:57] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.25,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:19:07] 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\":\"70d16739-7654-4185-99cb-49559aafc660\",\"trace_id\":\"d100f21a-5975-471a-b245-90b25b177c8f\"}\n[2026-05-11 11:19:07] local.INFO: [ScheduleBotCommand] Number of activities to be captured: 0 {\"correlation_id\":\"70d16739-7654-4185-99cb-49559aafc660\",\"trace_id\":\"d100f21a-5975-471a-b245-90b25b177c8f\"}\n[2026-05-11 11:19:07] 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\":\"70d16739-7654-4185-99cb-49559aafc660\",\"trace_id\":\"d100f21a-5975-471a-b245-90b25b177c8f\"}\n[2026-05-11 11:19:12] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"dialers:monitor-activities\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"91df8068-6c15-4614-947e-90f48574662c\",\"trace_id\":\"a9a86198-7521-4c0c-a89e-d23b34f2f8bf\"}\n[2026-05-11 11:19:12] 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\":\"91df8068-6c15-4614-947e-90f48574662c\",\"trace_id\":\"a9a86198-7521-4c0c-a89e-d23b34f2f8bf\"}\n[2026-05-11 11:19:15] local.NOTICE: Monitoring start {\"correlation_id\":\"6fae005c-3fcd-4718-86b0-f08f140f889c\",\"trace_id\":\"233ad400-a3ad-4093-8660-9e477cd6ca8f\"}\n[2026-05-11 11:19:15] local.NOTICE: Monitoring end {\"correlation_id\":\"6fae005c-3fcd-4718-86b0-f08f140f889c\",\"trace_id\":\"233ad400-a3ad-4093-8660-9e477cd6ca8f\"}\n[2026-05-11 11:19:18] 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\":\"08b79017-e665-425f-8048-21f93b1abf3b\",\"trace_id\":\"bb7a7ea5-30d3-4a13-9c3c-84bc1f9c26e7\"}\n[2026-05-11 11:19:18] 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\":\"08b79017-e665-425f-8048-21f93b1abf3b\",\"trace_id\":\"bb7a7ea5-30d3-4a13-9c3c-84bc1f9c26e7\"}\n[2026-05-11 11:19:21] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:process\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"0c31163b-b05f-4d3f-9a66-a2ce01d94010\",\"trace_id\":\"3dfb6352-28a3-4c77-b6ff-a11e0a7821a0\"}\n[2026-05-11 11:19:21] local.INFO: [EmailSchedule] STARTING batch process {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"0c31163b-b05f-4d3f-9a66-a2ce01d94010\",\"trace_id\":\"3dfb6352-28a3-4c77-b6ff-a11e0a7821a0\"}\n[2026-05-11 11:19:22] local.INFO: [EmailSchedule] FINISHED batch process {\"host\":\"docker_lamp_1\",\"processed\":0} {\"correlation_id\":\"0c31163b-b05f-4d3f-9a66-a2ce01d94010\",\"trace_id\":\"3dfb6352-28a3-4c77-b6ff-a11e0a7821a0\"}\n[2026-05-11 11:19:22] 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\":\"0c31163b-b05f-4d3f-9a66-a2ce01d94010\",\"trace_id\":\"3dfb6352-28a3-4c77-b6ff-a11e0a7821a0\"}\n[2026-05-11 11:20:08] 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\":\"cb3a4a64-b00b-4f94-9e00-c190cd7a7a42\",\"trace_id\":\"acd43b75-f255-471f-9563-f03de03c7e23\"}\n[2026-05-11 11:20:08] local.INFO: [ScheduleBotCommand] Number of activities to be captured: 0 {\"correlation_id\":\"cb3a4a64-b00b-4f94-9e00-c190cd7a7a42\",\"trace_id\":\"acd43b75-f255-471f-9563-f03de03c7e23\"}\n[2026-05-11 11:20:08] 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\":\"cb3a4a64-b00b-4f94-9e00-c190cd7a7a42\",\"trace_id\":\"acd43b75-f255-471f-9563-f03de03c7e23\"}\n[2026-05-11 11:20:10] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"dialers:monitor-activities\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"8ab6728e-9079-4166-bf97-fed4fb2ac7de\",\"trace_id\":\"508ecd6c-81db-47d4-8fad-d40b1e55cff3\"}\n[2026-05-11 11:20:10] 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\":\"8ab6728e-9079-4166-bf97-fed4fb2ac7de\",\"trace_id\":\"508ecd6c-81db-47d4-8fad-d40b1e55cff3\"}\n[2026-05-11 11:20:13] local.NOTICE: Monitoring start {\"correlation_id\":\"98b2a767-ff2a-4f82-866f-bf7dad58fe13\",\"trace_id\":\"ecb25ade-8dda-4d47-8bce-6b84e3c8fd0c\"}\n[2026-05-11 11:20:13] local.NOTICE: Monitoring end {\"correlation_id\":\"98b2a767-ff2a-4f82-866f-bf7dad58fe13\",\"trace_id\":\"ecb25ade-8dda-4d47-8bce-6b84e3c8fd0c\"}\n[2026-05-11 11:20:15] 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\":\"05f19e62-48e4-4c36-9577-648a2dd54abd\",\"trace_id\":\"e3d3acd1-5c23-4f37-9566-32a0cbd7a4eb\"}\n[2026-05-11 11:20:16] 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\":\"05f19e62-48e4-4c36-9577-648a2dd54abd\",\"trace_id\":\"e3d3acd1-5c23-4f37-9566-32a0cbd7a4eb\"}\n[2026-05-11 11:20:18] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:process\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"d5c19bc5-1a17-4b6d-9f62-a6715a8005c9\",\"trace_id\":\"451385cf-1bcd-4e06-8412-e5d197f5f567\"}\n[2026-05-11 11:20:18] local.INFO: [EmailSchedule] STARTING batch process {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"d5c19bc5-1a17-4b6d-9f62-a6715a8005c9\",\"trace_id\":\"451385cf-1bcd-4e06-8412-e5d197f5f567\"}\n[2026-05-11 11:20:18] local.INFO: [EmailSchedule] FINISHED batch process {\"host\":\"docker_lamp_1\",\"processed\":0} {\"correlation_id\":\"d5c19bc5-1a17-4b6d-9f62-a6715a8005c9\",\"trace_id\":\"451385cf-1bcd-4e06-8412-e5d197f5f567\"}\n[2026-05-11 11:20:18] 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\":\"d5c19bc5-1a17-4b6d-9f62-a6715a8005c9\",\"trace_id\":\"451385cf-1bcd-4e06-8412-e5d197f5f567\"}\n[2026-05-11 11:20:23] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:monitor:count\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"a01c4c40-1c1e-4865-be1f-0aa63b4fd1b9\",\"trace_id\":\"cba182ec-cbe6-4d53-b1c6-253546138cc8\"}\n[2026-05-11 11:20:23] local.INFO: Running conference:monitor:count command for activities in (2026-05-11 11:18:00, 2026-05-11 11:20:00] {\"correlation_id\":\"a01c4c40-1c1e-4865-be1f-0aa63b4fd1b9\",\"trace_id\":\"cba182ec-cbe6-4d53-b1c6-253546138cc8\"}\n[2026-05-11 11:20:23] local.INFO: [conference:monitor:count] No activities found in (2026-05-11 11:18:00, 2026-05-11 11:20:00] {\"correlation_id\":\"a01c4c40-1c1e-4865-be1f-0aa63b4fd1b9\",\"trace_id\":\"cba182ec-cbe6-4d53-b1c6-253546138cc8\"}\n[2026-05-11 11:20:23] 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\":\"a01c4c40-1c1e-4865-be1f-0aa63b4fd1b9\",\"trace_id\":\"cba182ec-cbe6-4d53-b1c6-253546138cc8\"}\n[2026-05-11 11:20:25] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"activity:purge-stale\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"b599f338-6a44-44d5-9f81-6fa300c4ea1b\",\"trace_id\":\"c7645418-4758-4410-83f2-8fe71ebf2ec2\"}\n[2026-05-11 11:20:25] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"activity:purge-stale\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"b599f338-6a44-44d5-9f81-6fa300c4ea1b\",\"trace_id\":\"c7645418-4758-4410-83f2-8fe71ebf2ec2\"}\n[2026-05-11 11:20:28] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:text-relay:sync\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"3c9d7674-d005-4372-8a60-2e8ecb587584\",\"trace_id\":\"22a0bdee-d653-4113-963c-043a68a4a8be\"}\n[2026-05-11 11:20:29] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"mailbox:text-relay:sync\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"3c9d7674-d005-4372-8a60-2e8ecb587584\",\"trace_id\":\"22a0bdee-d653-4113-963c-043a68a4a8be\"}\n[2026-05-11 11:20:31] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:pre-meeting-notification\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"1453203b-bac8-47ba-ac62-6369ac533fc2\",\"trace_id\":\"f176800e-9da8-4580-a332-56fa3402dbb7\"}\n[2026-05-11 11:20:31] local.INFO: Running pre-meeting notification command {\"correlation_id\":\"1453203b-bac8-47ba-ac62-6369ac533fc2\",\"trace_id\":\"f176800e-9da8-4580-a332-56fa3402dbb7\"}\n[2026-05-11 11:20:31] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"conference:pre-meeting-notification\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"1453203b-bac8-47ba-ac62-6369ac533fc2\",\"trace_id\":\"f176800e-9da8-4580-a332-56fa3402dbb7\"}\n[2026-05-11 11:20:33] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:monitor:start\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"2310f110-1f7e-4a28-b0c3-e5f8fc72688f\",\"trace_id\":\"9d6e8217-2f4e-4b23-8f36-8538f57064d9\"}\n[2026-05-11 11:20:33] local.INFO: Running conference:monitor:start command for activities in (2026-05-11 11:10:00, 2026-05-11 11:15:00] {\"correlation_id\":\"2310f110-1f7e-4a28-b0c3-e5f8fc72688f\",\"trace_id\":\"9d6e8217-2f4e-4b23-8f36-8538f57064d9\"}\n[2026-05-11 11:20:33] local.INFO: [conference:monitor:start] No activities found in (2026-05-11 11:10:00, 2026-05-11 11:15:00] {\"correlation_id\":\"2310f110-1f7e-4a28-b0c3-e5f8fc72688f\",\"trace_id\":\"9d6e8217-2f4e-4b23-8f36-8538f57064d9\"}\n[2026-05-11 11:20:33] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"conference:monitor:start\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"2310f110-1f7e-4a28-b0c3-e5f8fc72688f\",\"trace_id\":\"9d6e8217-2f4e-4b23-8f36-8538f57064d9\"}\n[2026-05-11 11:20:37] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:monitor:end\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"48a2dc23-76e1-4b34-b8a7-a7a957c71373\",\"trace_id\":\"b1788ca3-54cf-4031-b198-102838446996\"}\n[2026-05-11 11:20:37] local.INFO: conference:monitor:end:Jiminny\\Console\\Commands\\Activities\\MonitorMeetingEndCommand::logActivitiesEnded {\"from\":\"11:15\",\"to\":\"11:20\"} {\"correlation_id\":\"48a2dc23-76e1-4b34-b8a7-a7a957c71373\",\"trace_id\":\"b1788ca3-54cf-4031-b198-102838446996\"}\n[2026-05-11 11:20:38] local.INFO: conference:monitor:end:Jiminny\\Console\\Commands\\Activities\\MonitorMeetingEndCommand::logActivitiesWithUnfinishedSession {\"from\":\"01:10\",\"to\":\"01:15\"} {\"correlation_id\":\"48a2dc23-76e1-4b34-b8a7-a7a957c71373\",\"trace_id\":\"b1788ca3-54cf-4031-b198-102838446996\"}\n[2026-05-11 11:20:38] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"conference:monitor:end\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"48a2dc23-76e1-4b34-b8a7-a7a957c71373\",\"trace_id\":\"b1788ca3-54cf-4031-b198-102838446996\"}\n[2026-05-11 11:20:41] local.NOTICE: Repairing HubSpot tokens start {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: Trying to refresh HubSpot token {\"account_id\":59,\"updated_at\":\"2025-10-03 09:32:05\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: [SocialAccountService] Refreshing token from provider {\"socialAccountId\":59,\"provider\":\"hubspot\",\"refreshToken\":\"97b78f6e2cc49965c00c2492b602b02708b1392551e6b3f113fbaa48992af90b\",\"state\":\"full-refresh\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.ERROR: Failed to refresh HubSpot token {\"account_id\":59,\"updated_at\":\"2025-10-03 09:32:05\",\"reason\":\"missing or invalid refresh token\",\"previous\":\"\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: Trying to refresh HubSpot token {\"account_id\":306,\"updated_at\":\"2023-11-27 09:30:03\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: [SocialAccountService] Refreshing token from provider {\"socialAccountId\":306,\"provider\":\"hubspot\",\"refreshToken\":\"6fa6aa8cc641d131231acc3470f5c03cb3b07b2e580fb18f8acb3b1dbb72549b\",\"state\":\"full-refresh\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.ERROR: Failed to refresh HubSpot token {\"account_id\":306,\"updated_at\":\"2023-11-27 09:30:03\",\"reason\":\"missing or invalid refresh token\",\"previous\":\"\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: Trying to refresh HubSpot token {\"account_id\":1372,\"updated_at\":\"2025-10-02 14:47:06\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: [SocialAccountService] Refreshing token from provider {\"socialAccountId\":1372,\"provider\":\"hubspot\",\"refreshToken\":\"9aa73948c761da29dce46c177cf9aee1fde483a44169ca38723f9f0597d7a8c4\",\"state\":\"full-refresh\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:43] local.ERROR: Failed to refresh HubSpot token {\"account_id\":1372,\"updated_at\":\"2025-10-02 14:47:06\",\"reason\":\"missing or invalid refresh token\",\"previous\":\"\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:43] local.NOTICE: Repairing HubSpot tokens end {\"total\":3,\"fixed\":0,\"failed\":3} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:48] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"jiminny:transcription:retry-failed\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"28cf48be-a629-420c-a0a4-0d20fbd05838\",\"trace_id\":\"4fdaba19-5d8e-45db-a600-da048c8066fb\"}\n[2026-05-11 11:20:48] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:pre-meeting-reminder\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"6a6c06af-94cf-46bf-976e-55e401b3a588\",\"trace_id\":\"338c3b84-fc5a-404b-bed6-97341331ae68\"}\n[2026-05-11 11:20:48] local.INFO: [HubSpot Journal Command] Starting polling service {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:48] local.INFO: [HubSpot Journal Polling] Service starting {\"memory_limit\":\"256M\",\"max_execution_time\":\"0\",\"initial_memory_mb\":60.0} {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:48] local.INFO: [HubSpot Journal Polling] Acquired polling lock {\"expires_at\":\"2026-05-11T11:22:48.807561Z\"} {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:48] local.INFO: [HubSpot Journal Auth] Requesting new client credentials token {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:48] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"jiminny:transcription:retry-failed\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"28cf48be-a629-420c-a0a4-0d20fbd05838\",\"trace_id\":\"4fdaba19-5d8e-45db-a600-da048c8066fb\"}\n[2026-05-11 11:20:49] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"conference:pre-meeting-reminder\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"6a6c06af-94cf-46bf-976e-55e401b3a588\",\"trace_id\":\"338c3b84-fc5a-404b-bed6-97341331ae68\"}\n[2026-05-11 11:20:49] local.INFO: [HubSpot Journal Auth] Successfully obtained new access token {\"expires_in\":1800,\"cached_for\":1500} {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:49] local.INFO: [HubSpot Journal Polling] No data {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:53] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"crm:reset-governor\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"c8d52370-b908-428c-b973-699db0be2136\",\"trace_id\":\"fabc1f54-e263-4ba0-b8ff-324f62e84f1f\"}\n[2026-05-11 11:20:53] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"crm:reset-governor\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"c8d52370-b908-428c-b973-699db0be2136\",\"trace_id\":\"fabc1f54-e263-4ba0-b8ff-324f62e84f1f\"}\n[2026-05-11 11:20:54] local.INFO: [HubSpot Journal Polling] No data {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:56] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"crm:bullhorn:ping\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"de84a4c9-d2c5-4950-8c2d-f400cee667bf\",\"trace_id\":\"223fd9b2-ed24-4083-98cd-1bc4040dbbd1\"}\n[2026-05-11 11:20:57] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"crm:bullhorn:ping\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"de84a4c9-d2c5-4950-8c2d-f400cee667bf\",\"trace_id\":\"223fd9b2-ed24-4083-98cd-1bc4040dbbd1\"}\n[2026-05-11 11:20:59] local.INFO: [HubSpot Journal Polling] No data {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}","role_description":"text entry area","is_enabled":true,"is_focused":false,"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}]...
|
3313799739692082153
|
6378616412482181476
|
idle
|
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
2
67
3
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Services\Crm\Hubspot;
use HubSpot\Client\Crm\Deals\ApiException as DealApiException;
use HubSpot\Client\Crm\Contacts\ApiException as ContactApiException;
use HubSpot\Client\Crm\Companies\ApiException as CompanyApiException;
use HubSpot\Client\Crm\Contacts\Model\SimplePublicObjectWithAssociations as ContactsWithAssociations;
use HubSpot\Client\Crm\Companies\Model\SimplePublicObjectWithAssociations as CompaniesWithAssociations;
use HubSpot\Client\Crm\Deals\Model\SimplePublicObjectWithAssociations as DealWithAssociations;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectInput;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectWithAssociations as ObjectWithAssociations;
use HubSpot\Client\Crm\Pipelines\Model\Error;
use HubSpot\Client\Crm\Pipelines\Model\PipelineStage;
use HubSpot\Client\Crm\Properties\Model\Property;
use HubSpot\Discovery\Discovery;
use Jiminny\Exceptions\CrmException;
use Jiminny\Exceptions\RateLimitException;
use Jiminny\Exceptions\SocialAccountTokenInvalidException;
use Jiminny\Jobs\Crm\NoteObject;
use Jiminny\Models\Crm\Field;
use Jiminny\Services\Crm\BaseClient;
use Jiminny\Services\Crm\Hubspot\DTO\Response\Owner;
use Jiminny\Services\SocialAccountService;
use SevenShores\Hubspot\Exceptions\BadRequest;
use SevenShores\Hubspot\Exceptions\HubspotException;
use SevenShores\Hubspot\Factory;
use SevenShores\Hubspot\Http\Response;
use Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService;
use Illuminate\Support\Facades\Redis;
use Throwable;
/**
* @phpstan-type 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)
{
$cacheKey = $this->getRateLimitCacheKey();
$cachedRetryAfter = Redis::get($cacheKey);
if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {
throw new RateLimitException(
'Hubspot rate limit (cached circuit-breaker)',
(int) $cachedRetryAfter,
);
}
try {
return $apiCall();
} catch (Throwable $e) {
if ($this->isHubspotRateLimit($e)) {
$retryAfter = $this->parseRetryAfter($e);
Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);
$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 getRateLimitCacheKey(): string
{
return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());
}
public function isHubspotRateLimit(Throwable $e): bool
{
if ($e instanceof BadRequest
|| $e instanceof DealApiException
|| $e instanceof ContactApiException
|| $e instanceof CompanyApiException
|| $e instanceof \GuzzleHttp\Exception\RequestException
) {
return (int) $e->getCode() === 429;
}
return false;
}
public 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;
}
}
$message = strtolower($e->getMessage());
if (str_contains($message, 'daily')) {
return 600;
}
if (str_contains($message, 'ten secondly')) {
return 10;
}
if (str_contains($message, 'secondly')) {
return 1;
}
$this->log->warning('[Hubspot] No retry-after header or known message, using default', [
'exception_class' => get_class($e),
'message' => $message,
]);
return 10;
}
public function parseMessage(Throwable $e): string
{
if (! method_exists($e, 'getResponseBody')) {
return '';
}
$body = $e->getResponseBody();
if (is_string($body)) {
$body = json_decode($body, true) ?? [];
}
if (! is_array($body)) {
return '';
}
return (string) ($body['message'] ?? '');
}
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
);
}
/**
* Execute a search request against HubSpot CRM objects with rate limiting.
*
* @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')
* @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.
* @return array The search response with 'results', 'total', 'paging' keys
* @throws RateLimitException When rate limit is hit
* @throws HubspotException On API errors
*/
public function search(string $objectType, array $payload): array
{
$endpoint = self::BASE_URL . "/crm/v3/objects/{$objectType}/search";
return $this->executeRequest(function () use ($endpoint, $payload) {
$response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);
return $response->toArray();
});
}
/**
* @throws DealApiException
* @throws CrmException
*/
public function getOpportunityById(string $crmId, array $fields): array
{
try {
$deal = $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') {
return $this->getInstance()->getClient()?->request(
method: $method,
endpoint: $endpoint,
query_string: $queryString
);
} else {
return $this->getInstance()->getClient()->request($method, $endpoint, [
'json' => ($payload),
]);
}
}
/**
* @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 (RateLimitException $e) {
// throw $e;
} 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);
}
}
Show Replace Field
Search History
429
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
23/38
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Sync Changes
Hide This Notification
Code changed:
Hide
[2026-05-11 11:17:21] local.NOTICE: Monitoring start {"correlation_id":"885fde59-3852-4120-a620-af3da7ecce17","trace_id":"4cc10f53-5d39-418d-8e98-fe53d9bbff5f"}
[2026-05-11 11:17:21] local.NOTICE: Monitoring end {"correlation_id":"885fde59-3852-4120-a620-af3da7ecce17","trace_id":"4cc10f53-5d39-418d-8e98-fe53d9bbff5f"}
[2026-05-11 11:17:34] 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":"a773fb28-5a0c-4b8f-a1b5-d57e6b81db90","trace_id":"fb6d8028-db7d-4ef2-b175-740f0a7b8b39"}
[2026-05-11 11:17:35] 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":"a773fb28-5a0c-4b8f-a1b5-d57e6b81db90","trace_id":"fb6d8028-db7d-4ef2-b175-740f0a7b8b39"}
[2026-05-11 11:17:37] 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":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":615092} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":615092,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] 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":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [Prospect match] Cache miss, calling the API {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] 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":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.WARNING: [Hubspot] Received 429 from API {"team_id":2,"config_id":2,"retry_after":1,"reason":"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\":\"019e16c1-c (truncated...)
"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":1,"delay":4} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] 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":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614436} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614436,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] 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":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":1,"delay":3} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] 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":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614382} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614382,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] 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":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":1,"delay":1} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] 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":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614381} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614381,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] 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":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.WARNING: [Hubspot] Received 429 from API {"team_id":2,"config_id":2,"retry_after":1,"reason":"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\":\"019e16c1-c (truncated...)
"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":1,"delay":2} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [MatchActivityCrmData] Starting CRM data matching {"activity":614378,"remote_search":true,"set_configuration":2,"old_state":{"lead_id":null,"contact_id":6167,"account_id":null,"opportunity_id":null,"stage_id":null}} {"correlation_id":"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activit...
|
18472
|
NULL
|
NULL
|
NULL
|
|
18495
|
NULL
|
0
|
2026-05-11T11:29:00.997431+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778498940997_m1.jpg...
|
PhpStorm
|
faVsco.js – laravel.log
|
1
|
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
2
67
3
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Services\Crm\Hubspot;
use HubSpot\Client\Crm\Deals\ApiException as DealApiException;
use HubSpot\Client\Crm\Contacts\ApiException as ContactApiException;
use HubSpot\Client\Crm\Companies\ApiException as CompanyApiException;
use HubSpot\Client\Crm\Contacts\Model\SimplePublicObjectWithAssociations as ContactsWithAssociations;
use HubSpot\Client\Crm\Companies\Model\SimplePublicObjectWithAssociations as CompaniesWithAssociations;
use HubSpot\Client\Crm\Deals\Model\SimplePublicObjectWithAssociations as DealWithAssociations;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectInput;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectWithAssociations as ObjectWithAssociations;
use HubSpot\Client\Crm\Pipelines\Model\Error;
use HubSpot\Client\Crm\Pipelines\Model\PipelineStage;
use HubSpot\Client\Crm\Properties\Model\Property;
use HubSpot\Discovery\Discovery;
use Jiminny\Exceptions\CrmException;
use Jiminny\Exceptions\RateLimitException;
use Jiminny\Exceptions\SocialAccountTokenInvalidException;
use Jiminny\Jobs\Crm\NoteObject;
use Jiminny\Models\Crm\Field;
use Jiminny\Services\Crm\BaseClient;
use Jiminny\Services\Crm\Hubspot\DTO\Response\Owner;
use Jiminny\Services\SocialAccountService;
use SevenShores\Hubspot\Exceptions\BadRequest;
use SevenShores\Hubspot\Exceptions\HubspotException;
use SevenShores\Hubspot\Factory;
use SevenShores\Hubspot\Http\Response;
use Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService;
use Illuminate\Support\Facades\Redis;
use Throwable;
/**
* @phpstan-type 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)
{
$cacheKey = $this->getRateLimitCacheKey();
$cachedRetryAfter = Redis::get($cacheKey);
if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {
throw new RateLimitException(
'Hubspot rate limit (cached circuit-breaker)',
(int) $cachedRetryAfter,
);
}
try {
return $apiCall();
} catch (Throwable $e) {
if ($this->isHubspotRateLimit($e)) {
$retryAfter = $this->parseRetryAfter($e);
Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);
$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 getRateLimitCacheKey(): string
{
return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());
}
public function isHubspotRateLimit(Throwable $e): bool
{
if ($e instanceof BadRequest
|| $e instanceof DealApiException
|| $e instanceof ContactApiException
|| $e instanceof CompanyApiException
|| $e instanceof \GuzzleHttp\Exception\RequestException
) {
return (int) $e->getCode() === 429;
}
return false;
}
public 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;
}
}
$message = strtolower($e->getMessage());
if (str_contains($message, 'daily')) {
return 600;
}
if (str_contains($message, 'ten secondly')) {
return 10;
}
if (str_contains($message, 'secondly')) {
return 1;
}
$this->log->warning('[Hubspot] No retry-after header or known message, using default', [
'exception_class' => get_class($e),
'message' => $message,
]);
return 10;
}
public function parseMessage(Throwable $e): string
{
if (! method_exists($e, 'getResponseBody')) {
return '';
}
$body = $e->getResponseBody();
if (is_string($body)) {
$body = json_decode($body, true) ?? [];
}
if (! is_array($body)) {
return '';
}
return (string) ($body['message'] ?? '');
}
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
);
}
/**
* Execute a search request against HubSpot CRM objects with rate limiting.
*
* @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')
* @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.
* @return array The search response with 'results', 'total', 'paging' keys
* @throws RateLimitException When rate limit is hit
* @throws HubspotException On API errors
*/
public function search(string $objectType, array $payload): array
{
$endpoint = self::BASE_URL . "/crm/v3/objects/{$objectType}/search";
return $this->executeRequest(function () use ($endpoint, $payload) {
$response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);
return $response->toArray();
});
}
/**
* @throws DealApiException
* @throws CrmException
*/
public function getOpportunityById(string $crmId, array $fields): array
{
try {
$deal = $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') {
return $this->getInstance()->getClient()?->request(
method: $method,
endpoint: $endpoint,
query_string: $queryString
);
} else {
return $this->getInstance()->getClient()->request($method, $endpoint, [
'json' => ($payload),
]);
}
}
/**
* @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 (RateLimitException $e) {
// throw $e;
} 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);
}
}
Show Replace Field
Search History
429
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
23/38
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Sync Changes
Hide This Notification
Code changed:
Hide
[2026-05-11 11:17:21] local.NOTICE: Monitoring start {"correlation_id":"885fde59-3852-4120-a620-af3da7ecce17","trace_id":"4cc10f53-5d39-418d-8e98-fe53d9bbff5f"}
[2026-05-11 11:17:21] local.NOTICE: Monitoring end {"correlation_id":"885fde59-3852-4120-a620-af3da7ecce17","trace_id":"4cc10f53-5d39-418d-8e98-fe53d9bbff5f"}
[2026-05-11 11:17:34] 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":"a773fb28-5a0c-4b8f-a1b5-d57e6b81db90","trace_id":"fb6d8028-db7d-4ef2-b175-740f0a7b8b39"}
[2026-05-11 11:17:35] 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":"a773fb28-5a0c-4b8f-a1b5-d57e6b81db90","trace_id":"fb6d8028-db7d-4ef2-b175-740f0a7b8b39"}
[2026-05-11 11:17:37] 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":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":615092} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":615092,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] 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":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [Prospect match] Cache miss, calling the API {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] 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":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.WARNING: [Hubspot] Received 429 from API {"team_id":2,"config_id":2,"retry_after":1,"reason":"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\":\"019e16c1-c (truncated...)
"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":1,"delay":4} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] 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":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614436} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614436,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] 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":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":1,"delay":3} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] 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":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614382} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614382,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] 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":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":1,"delay":1} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] 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":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614381} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614381,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] 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":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.WARNING: [Hubspot] Received 429 from API {"team_id":2,"config_id":2,"retry_after":1,"reason":"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\":\"019e16c1-c (truncated...)
"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":1,"delay":2} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [MatchActivityCrmData] Starting CRM data matching {"activity":614378,"remote_search":true,"set_configuration":2,"old_state":{"lead_id":null,"contact_id":6167,"account_id":null,"opportunity_id":null,"stage_id":null}} {"correlation_id":"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activit...
|
[{"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":"2","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"67","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","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\\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\\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 Illuminate\\Support\\Facades\\Redis;\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\n public function __construct(\n SocialAccountService $socialAccountService,\n HubspotPaginationService $paginationService,\n HubspotTokenManager $tokenManager\n ) {\n parent::__construct($socialAccountService);\n $this->paginationService = $paginationService;\n $this->tokenManager = $tokenManager;\n\n $this->setBaseUrl(self::BASE_URL);\n $this->setVersion(self::MIN_API_VERSION);\n }\n\n /**\n * Reacts to a rate limits (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 $cacheKey = $this->getRateLimitCacheKey();\n\n $cachedRetryAfter = Redis::get($cacheKey);\n if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {\n throw new RateLimitException(\n 'Hubspot rate limit (cached circuit-breaker)',\n (int) $cachedRetryAfter,\n );\n }\n\n try {\n return $apiCall();\n } catch (Throwable $e) {\n if ($this->isHubspotRateLimit($e)) {\n $retryAfter = $this->parseRetryAfter($e);\n\n Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);\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 getRateLimitCacheKey(): string\n {\n return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());\n }\n\n public function isHubspotRateLimit(Throwable $e): bool\n {\n if ($e instanceof BadRequest\n || $e instanceof DealApiException\n || $e instanceof ContactApiException\n || $e instanceof CompanyApiException\n || $e instanceof \\GuzzleHttp\\Exception\\RequestException\n ) {\n return (int) $e->getCode() === 429;\n }\n\n return false;\n }\n\n public 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 $message = strtolower($e->getMessage());\n\n if (str_contains($message, 'daily')) {\n return 600;\n }\n if (str_contains($message, 'ten secondly')) {\n return 10;\n }\n if (str_contains($message, 'secondly')) {\n return 1;\n }\n\n $this->log->warning('[Hubspot] No retry-after header or known message, using default', [\n 'exception_class' => get_class($e),\n 'message' => $message,\n ]);\n\n return 10;\n }\n\n public function parseMessage(Throwable $e): string\n {\n if (! method_exists($e, 'getResponseBody')) {\n return '';\n }\n\n $body = $e->getResponseBody();\n if (is_string($body)) {\n $body = json_decode($body, true) ?? [];\n }\n\n if (! is_array($body)) {\n return '';\n }\n\n return (string) ($body['message'] ?? '');\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 * Execute a search request against HubSpot CRM objects with rate limiting.\n *\n * @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')\n * @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.\n * @return array The search response with 'results', 'total', 'paging' keys\n * @throws RateLimitException When rate limit is hit\n * @throws HubspotException On API errors\n */\n public function search(string $objectType, array $payload): array\n {\n $endpoint = self::BASE_URL . \"/crm/v3/objects/{$objectType}/search\";\n\n return $this->executeRequest(function () use ($endpoint, $payload) {\n $response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);\n\n return $response->toArray();\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->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 return $this->getInstance()->getClient()?->request(\n method: $method,\n endpoint: $endpoint,\n query_string: $queryString\n );\n } else {\n return $this->getInstance()->getClient()->request($method, $endpoint, [\n 'json' => ($payload),\n ]);\n }\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 (RateLimitException $e) {\n// throw $e;\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\\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 Illuminate\\Support\\Facades\\Redis;\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\n public function __construct(\n SocialAccountService $socialAccountService,\n HubspotPaginationService $paginationService,\n HubspotTokenManager $tokenManager\n ) {\n parent::__construct($socialAccountService);\n $this->paginationService = $paginationService;\n $this->tokenManager = $tokenManager;\n\n $this->setBaseUrl(self::BASE_URL);\n $this->setVersion(self::MIN_API_VERSION);\n }\n\n /**\n * Reacts to a rate limits (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 $cacheKey = $this->getRateLimitCacheKey();\n\n $cachedRetryAfter = Redis::get($cacheKey);\n if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {\n throw new RateLimitException(\n 'Hubspot rate limit (cached circuit-breaker)',\n (int) $cachedRetryAfter,\n );\n }\n\n try {\n return $apiCall();\n } catch (Throwable $e) {\n if ($this->isHubspotRateLimit($e)) {\n $retryAfter = $this->parseRetryAfter($e);\n\n Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);\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 getRateLimitCacheKey(): string\n {\n return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());\n }\n\n public function isHubspotRateLimit(Throwable $e): bool\n {\n if ($e instanceof BadRequest\n || $e instanceof DealApiException\n || $e instanceof ContactApiException\n || $e instanceof CompanyApiException\n || $e instanceof \\GuzzleHttp\\Exception\\RequestException\n ) {\n return (int) $e->getCode() === 429;\n }\n\n return false;\n }\n\n public 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 $message = strtolower($e->getMessage());\n\n if (str_contains($message, 'daily')) {\n return 600;\n }\n if (str_contains($message, 'ten secondly')) {\n return 10;\n }\n if (str_contains($message, 'secondly')) {\n return 1;\n }\n\n $this->log->warning('[Hubspot] No retry-after header or known message, using default', [\n 'exception_class' => get_class($e),\n 'message' => $message,\n ]);\n\n return 10;\n }\n\n public function parseMessage(Throwable $e): string\n {\n if (! method_exists($e, 'getResponseBody')) {\n return '';\n }\n\n $body = $e->getResponseBody();\n if (is_string($body)) {\n $body = json_decode($body, true) ?? [];\n }\n\n if (! is_array($body)) {\n return '';\n }\n\n return (string) ($body['message'] ?? '');\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 * Execute a search request against HubSpot CRM objects with rate limiting.\n *\n * @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')\n * @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.\n * @return array The search response with 'results', 'total', 'paging' keys\n * @throws RateLimitException When rate limit is hit\n * @throws HubspotException On API errors\n */\n public function search(string $objectType, array $payload): array\n {\n $endpoint = self::BASE_URL . \"/crm/v3/objects/{$objectType}/search\";\n\n return $this->executeRequest(function () use ($endpoint, $payload) {\n $response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);\n\n return $response->toArray();\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->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 return $this->getInstance()->getClient()?->request(\n method: $method,\n endpoint: $endpoint,\n query_string: $queryString\n );\n } else {\n return $this->getInstance()->getClient()->request($method, $endpoint, [\n 'json' => ($payload),\n ]);\n }\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 (RateLimitException $e) {\n// throw $e;\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":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Show Replace Field","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Search History","depth":3,"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"429","depth":4,"on_screen":true,"value":"429","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"New Line","depth":3,"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Match Case","depth":3,"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Words","depth":3,"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Regex","depth":3,"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Replace History","depth":3,"bounds":{"left":0.0,"top":0.0,"width":0.015277778,"height":0.024444444},"on_screen":false,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextField","text":"Replace","depth":4,"on_screen":false,"role_description":"text field","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"New Line","depth":3,"bounds":{"left":0.0,"top":0.0,"width":0.015277778,"height":0.024444444},"on_screen":false,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Preserve case","depth":3,"bounds":{"left":0.0,"top":0.0,"width":0.015277778,"height":0.024444444},"on_screen":false,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"23/38","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Occurrence","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Occurrence","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Filter Search Results","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open in Window, Multiple Cursors","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Click to highlight","depth":4,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","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":"AXTextArea","text":"[2026-05-11 11:17:21] local.NOTICE: Monitoring start {\"correlation_id\":\"885fde59-3852-4120-a620-af3da7ecce17\",\"trace_id\":\"4cc10f53-5d39-418d-8e98-fe53d9bbff5f\"}\n[2026-05-11 11:17:21] local.NOTICE: Monitoring end {\"correlation_id\":\"885fde59-3852-4120-a620-af3da7ecce17\",\"trace_id\":\"4cc10f53-5d39-418d-8e98-fe53d9bbff5f\"}\n[2026-05-11 11:17:34] 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\":\"a773fb28-5a0c-4b8f-a1b5-d57e6b81db90\",\"trace_id\":\"fb6d8028-db7d-4ef2-b175-740f0a7b8b39\"}\n[2026-05-11 11:17:35] 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\":\"a773fb28-5a0c-4b8f-a1b5-d57e6b81db90\",\"trace_id\":\"fb6d8028-db7d-4ef2-b175-740f0a7b8b39\"}\n[2026-05-11 11:17:37] 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\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] 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\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] 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\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] 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\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":1,\"reason\":\"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\\\":\\\"019e16c1-c (truncated...)\n\"} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":4} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] 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\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] 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\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":3} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] 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\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] 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\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":1} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] 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\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] 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\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":1,\"reason\":\"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\\\":\\\"019e16c1-c (truncated...)\n\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":2} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":614378,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":6167,\"account_id\":null,\"opportunity_id\":null,\"stage_id\":null}} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] 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\":6167,\"lead_id\":null},{\"id\":1002625,\"user_id\":89,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":3} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613840,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613840} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613840,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":261} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":299} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613840,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613840} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613840,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613833,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613833} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613833,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":1.0,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613833,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613833} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613833,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613827,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613827} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613827,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613827,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613827} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613827,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613826,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613826} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613826,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613826,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613826} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613826,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613820,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613820} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613820,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613820,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613820} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613820,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613818,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613818} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613818,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613818,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613818} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613818,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613812,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613812} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613812,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613812,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613812} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613812,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613807,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4484,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613807} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613807,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":4484,\"lead_id\":null}]} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":243,\"contact_id\":4484,\"owner_id\":253} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":243,\"contact_id\":4484} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":243,\"contact_id\":4484,\"opportunity_id\":276} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"tsvetomir.banovski@gmail.com\"} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613807,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613807} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613807,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613806,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613806} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613806,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":253} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":244,\"contact_id\":4487} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":350} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613806,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613806} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613806,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613805,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613805} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613805,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613805,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613805} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613805,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613698,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613698} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613698,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613698,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613698} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613698,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613697,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613697} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613697,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613697,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613697} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613697,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613696,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613696} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613696,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613696,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613696} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613696,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613695,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613695} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613695,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613695,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613695} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613695,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613694,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613694} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613694,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613694,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613694} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613694,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613157,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613157} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613157,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613157,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613157} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613157,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613156,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613156} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613156,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613156,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613156} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613156,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:process\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"859a4ec6-5c81-4283-bb96-c3ebaf5ff599\",\"trace_id\":\"f8a2783e-c54a-4d43-8cf6-61594479b0e7\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613155,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613155} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613155,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EmailSchedule] STARTING batch process {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"859a4ec6-5c81-4283-bb96-c3ebaf5ff599\",\"trace_id\":\"f8a2783e-c54a-4d43-8cf6-61594479b0e7\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613155,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613155} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613155,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EmailSchedule] FINISHED batch process {\"host\":\"docker_lamp_1\",\"processed\":0} {\"correlation_id\":\"859a4ec6-5c81-4283-bb96-c3ebaf5ff599\",\"trace_id\":\"f8a2783e-c54a-4d43-8cf6-61594479b0e7\"}\n[2026-05-11 11:17:42] 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\":\"859a4ec6-5c81-4283-bb96-c3ebaf5ff599\",\"trace_id\":\"f8a2783e-c54a-4d43-8cf6-61594479b0e7\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613130,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613130} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613130,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613130,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613130} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613130,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":165,\"stage_id\":89}} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612924} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612924,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":69,\"contact_id\":97,\"owner_id\":19} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":69,\"contact_id\":97,\"opportunity_id\":165} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612924,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612924} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612924,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":165,\"stage_id\":89}} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612923} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612923,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612923,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612923} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612923,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":165,\"stage_id\":89}} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612922} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612922,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612922,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612922} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612922,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612847,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612847,\"participants\":[{\"id\":1000130,\"user_id\":null,\"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\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] 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\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] 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\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":1,\"reason\":\"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\\\":\\\"019e16c1-d (truncated...)\n\"} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":5} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612822,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612822} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612822,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] 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\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] 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\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612822,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612822} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612822,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] 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\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612819,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] 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\":null,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] 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\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:47] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":1,\"reason\":\"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\\\":\\\"019e16c1-e (truncated...)\n\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:47] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":4} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612673,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612673} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612673,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] 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\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] 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\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612673,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612673} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612673,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] 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\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612642,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612642} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612642,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] 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\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] 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\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612642,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612642} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612642,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] 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\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612598} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612598,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] 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\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":243,\"contact_id\":4491,\"owner_id\":206} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":243,\"contact_id\":4491} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":243,\"contact_id\":4491,\"opportunity_id\":276} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] 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\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612598,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612598} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612598,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] 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\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612597} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612597,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] 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\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] 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\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:54] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612597,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612597} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612597,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:54] 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\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17: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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612596} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612596,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17: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\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17: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\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17: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\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612596} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612596,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17: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\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612595} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612595,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] 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\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] 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\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612595,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612595} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612595,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] 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\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612594} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612594,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] 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\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] 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\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612594,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612594} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612594,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] 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\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612593} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612593,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612593,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612593} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612593,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612592} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612592,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] 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\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612592,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612592} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612592,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] 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\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612591} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612591,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] 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\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612591,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612591} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612591,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612590} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612590,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612590,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612590} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612590,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612589} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612589,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612589,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612589} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612589,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612588} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612588,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612588,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612588} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612588,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":16.99,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:02] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612587} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612587,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612587,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612587} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612587,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612586} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612586,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612586,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612586} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612586,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612585} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612585,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] 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\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] 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\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612585,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612585} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612585,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] 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\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612584} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612584,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:05] 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\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] 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\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612584,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612584} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612584,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] 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\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612583} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612583,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] 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\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] 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\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612583,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612583} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612583,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:08] 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\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612582} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612582,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] 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\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] 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\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612582,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612582} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612582,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:10] 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\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612581} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612581,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] 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\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":4.14,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:11] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:12] 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\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:12] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612581,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:12] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612581} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:12] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612581,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:12] 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\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612565} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612565,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] 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\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:create\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"feff8215-75fe-40b2-916e-951435e048aa\",\"trace_id\":\"46d069ed-7c2b-4fdc-9679-9ec571a88271\"}\n[2026-05-11 11:18:15] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] 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\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612565,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612565} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612565,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:16] 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\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:16] local.INFO: [EmailSchedule] STARTING batch create {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"feff8215-75fe-40b2-916e-951435e048aa\",\"trace_id\":\"46d069ed-7c2b-4fdc-9679-9ec571a88271\"}\n[2026-05-11 11:18:16] 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\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:16] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612563} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:16] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612563,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:16] 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\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] 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\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":206} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":244,\"contact_id\":4487} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":350} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: [EmailSchedule] FINISHED batch create {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"feff8215-75fe-40b2-916e-951435e048aa\",\"trace_id\":\"46d069ed-7c2b-4fdc-9679-9ec571a88271\"}\n[2026-05-11 11:18:18] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"mailbox:batch:create\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"feff8215-75fe-40b2-916e-951435e048aa\",\"trace_id\":\"46d069ed-7c2b-4fdc-9679-9ec571a88271\"}\n[2026-05-11 11:18:18] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:19] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612563,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:19] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612563} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:19] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612563,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:19] 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\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:19] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":3.06,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:19] local.INFO: [Jiminny\\Jobs\\Mailbox\\CreateBatches] processed 2 inboxes and created 0 batches {\"userId\":null,\"batchSize\":30,\"maxBatches\":1000} {\"correlation_id\":\"5a640073-717d-40da-ad67-be02e37c56a2\",\"trace_id\":\"46d069ed-7c2b-4fdc-9679-9ec571a88271\"}\n[2026-05-11 11:18:20] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612562} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612562,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:21] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:21] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:21] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:22] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"447782589921@txt.staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:22] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:22] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:22] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:22] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:22] 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.32,\"average_seconds_per_request\":0.32} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612562,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612562} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612562,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612561} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612561,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] 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\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] 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\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\"} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612561,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612561} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612561,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612560} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612560,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"447782589921@txt.staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612560,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612560} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612560,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":1.89,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:26] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612559} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612559,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] 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\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] 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\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":69,\"contact_id\":97,\"owner_id\":206} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":69,\"contact_id\":97} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":69,\"contact_id\":97,\"opportunity_id\":5011} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612559,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612559} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612559,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] 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\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612558} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612558,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612558,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612558} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612558,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612557} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612557,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612557,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612557} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612557,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612556} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612556,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612556,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612556} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612556,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612555} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612555,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612555,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612555} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612555,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612554} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612554,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612554,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612554} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612554,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612553} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612553,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] 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\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612553,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612553} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612553,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] 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\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612552} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612552,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612552,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612552} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612552,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612551} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612551,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612551,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612551} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612551,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612550} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612550,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612550,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612550} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612550,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612549} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612549,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612549,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612549} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612549,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612365,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612365} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612365,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":243,\"contact_id\":4491,\"owner_id\":206} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":243,\"contact_id\":4491} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":243,\"contact_id\":4491,\"opportunity_id\":276} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612365,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612365} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612365,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612360,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612360} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612360,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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.29,\"average_seconds_per_request\":0.29} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612360,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612360} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612360,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612340,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612340} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612340,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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.34,\"average_seconds_per_request\":0.34} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612340,\"participants_processed\":4,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612340} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612340,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.75,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:32] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612339,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612339} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612339,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612339,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612339} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612339,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612336,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612336} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612336,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612336,\"participants_processed\":4,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612336} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612336,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612183,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612183} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612183,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":261} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":299} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612183,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612183} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612183,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612182,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612182} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612182,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612182,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612182} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612182,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612181,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612181} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612181,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612181,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612181} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612181,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612180,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612180} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612180,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612180,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612180} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612180,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611455} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611455,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:35] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:35] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:35] 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.27,\"average_seconds_per_request\":0.27} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611455,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611455} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611455,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611451} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] 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\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] 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\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] 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\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:37] 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.25,\"average_seconds_per_request\":0.25} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:37] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:37] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:37] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:37] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:37] 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\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:38] 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.44,\"average_seconds_per_request\":0.44} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] 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\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":3.16,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611451,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611451} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] 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\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611087} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611087,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] 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\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] 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\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611087,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611087} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611087,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] 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\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611076} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611076,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] 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\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] 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\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611076,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611076} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611076,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] 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\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610935} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610935,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610935,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610935} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610935,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610915} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610915,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610915,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610915} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610915,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610900} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610900,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610900,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610900} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610900,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610885} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610885,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610885,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610885} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610885,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610878} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610878,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610878,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610878} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610878,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610874} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610874,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610874,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610874} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610874,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610867} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610867,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610867,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610867} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610867,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610764} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610764,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610764,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610764} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610764,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610617} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610617,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610617,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610617} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610617,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610539} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610539,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610539,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610539} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610539,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.4,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:46] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610528} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610528,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610528,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610528} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610528,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610506} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610506,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610506,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610506} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610506,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610497} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610497,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610497,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610497} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610497,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610490} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610490,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610490,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610490} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610490,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610470} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610470,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610470,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610470} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610470,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610462} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610462,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610462,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610462} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610462,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610451} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610451,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610451} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610438} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610438,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610438,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610438} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610438,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610426} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610426,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610426,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610426} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610426,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610403} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610403,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610403,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610403} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610403,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610400} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610400,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":1460} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":244,\"contact_id\":4487} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":350} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610400,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610400} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610400,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] 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}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18: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\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18: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.51,\"average_seconds_per_request\":0.51} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:49] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:49] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:49] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:49] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18: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}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:49] 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.35,\"average_seconds_per_request\":0.35} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:50] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":614382,\"team_id\":2,\"email\":\"nikolay.nikolov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:50] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614382,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:50] 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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:50] 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}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] 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}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":614381,\"team_id\":2,\"email\":\"nikolay.nikolov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614381,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] 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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] 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}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] 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}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18: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\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":615092,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18: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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18: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}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18: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}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18: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\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614436,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18: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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":614378,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":6167,\"account_id\":null,\"opportunity_id\":null,\"stage_id\":null}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:50] 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\":6167,\"lead_id\":null},{\"id\":1002625,\"user_id\":89,\"contact_id\":null,\"lead_id\":null}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nmalchev@gmail.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18: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\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614378,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18: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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612847,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612847,\"participants\":[{\"id\":1000130,\"user_id\":null,\"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}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.84,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:51] 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\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:52] 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.28,\"average_seconds_per_request\":0.28} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:52] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"adelina.petrova@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:52] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:52] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:52] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:52] 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}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:53] 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.43,\"average_seconds_per_request\":0.43} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:53] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612847,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:53] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:53] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612847,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18: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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:54] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612819,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18: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\":null,\"contact_id\":null,\"lead_id\":null}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18: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\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"adelina.petrova@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612819,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18: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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:57] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.25,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:19:07] 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\":\"70d16739-7654-4185-99cb-49559aafc660\",\"trace_id\":\"d100f21a-5975-471a-b245-90b25b177c8f\"}\n[2026-05-11 11:19:07] local.INFO: [ScheduleBotCommand] Number of activities to be captured: 0 {\"correlation_id\":\"70d16739-7654-4185-99cb-49559aafc660\",\"trace_id\":\"d100f21a-5975-471a-b245-90b25b177c8f\"}\n[2026-05-11 11:19:07] 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\":\"70d16739-7654-4185-99cb-49559aafc660\",\"trace_id\":\"d100f21a-5975-471a-b245-90b25b177c8f\"}\n[2026-05-11 11:19:12] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"dialers:monitor-activities\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"91df8068-6c15-4614-947e-90f48574662c\",\"trace_id\":\"a9a86198-7521-4c0c-a89e-d23b34f2f8bf\"}\n[2026-05-11 11:19:12] 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\":\"91df8068-6c15-4614-947e-90f48574662c\",\"trace_id\":\"a9a86198-7521-4c0c-a89e-d23b34f2f8bf\"}\n[2026-05-11 11:19:15] local.NOTICE: Monitoring start {\"correlation_id\":\"6fae005c-3fcd-4718-86b0-f08f140f889c\",\"trace_id\":\"233ad400-a3ad-4093-8660-9e477cd6ca8f\"}\n[2026-05-11 11:19:15] local.NOTICE: Monitoring end {\"correlation_id\":\"6fae005c-3fcd-4718-86b0-f08f140f889c\",\"trace_id\":\"233ad400-a3ad-4093-8660-9e477cd6ca8f\"}\n[2026-05-11 11:19:18] 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\":\"08b79017-e665-425f-8048-21f93b1abf3b\",\"trace_id\":\"bb7a7ea5-30d3-4a13-9c3c-84bc1f9c26e7\"}\n[2026-05-11 11:19:18] 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\":\"08b79017-e665-425f-8048-21f93b1abf3b\",\"trace_id\":\"bb7a7ea5-30d3-4a13-9c3c-84bc1f9c26e7\"}\n[2026-05-11 11:19:21] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:process\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"0c31163b-b05f-4d3f-9a66-a2ce01d94010\",\"trace_id\":\"3dfb6352-28a3-4c77-b6ff-a11e0a7821a0\"}\n[2026-05-11 11:19:21] local.INFO: [EmailSchedule] STARTING batch process {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"0c31163b-b05f-4d3f-9a66-a2ce01d94010\",\"trace_id\":\"3dfb6352-28a3-4c77-b6ff-a11e0a7821a0\"}\n[2026-05-11 11:19:22] local.INFO: [EmailSchedule] FINISHED batch process {\"host\":\"docker_lamp_1\",\"processed\":0} {\"correlation_id\":\"0c31163b-b05f-4d3f-9a66-a2ce01d94010\",\"trace_id\":\"3dfb6352-28a3-4c77-b6ff-a11e0a7821a0\"}\n[2026-05-11 11:19:22] 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\":\"0c31163b-b05f-4d3f-9a66-a2ce01d94010\",\"trace_id\":\"3dfb6352-28a3-4c77-b6ff-a11e0a7821a0\"}\n[2026-05-11 11:20:08] 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\":\"cb3a4a64-b00b-4f94-9e00-c190cd7a7a42\",\"trace_id\":\"acd43b75-f255-471f-9563-f03de03c7e23\"}\n[2026-05-11 11:20:08] local.INFO: [ScheduleBotCommand] Number of activities to be captured: 0 {\"correlation_id\":\"cb3a4a64-b00b-4f94-9e00-c190cd7a7a42\",\"trace_id\":\"acd43b75-f255-471f-9563-f03de03c7e23\"}\n[2026-05-11 11:20:08] 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\":\"cb3a4a64-b00b-4f94-9e00-c190cd7a7a42\",\"trace_id\":\"acd43b75-f255-471f-9563-f03de03c7e23\"}\n[2026-05-11 11:20:10] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"dialers:monitor-activities\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"8ab6728e-9079-4166-bf97-fed4fb2ac7de\",\"trace_id\":\"508ecd6c-81db-47d4-8fad-d40b1e55cff3\"}\n[2026-05-11 11:20:10] 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\":\"8ab6728e-9079-4166-bf97-fed4fb2ac7de\",\"trace_id\":\"508ecd6c-81db-47d4-8fad-d40b1e55cff3\"}\n[2026-05-11 11:20:13] local.NOTICE: Monitoring start {\"correlation_id\":\"98b2a767-ff2a-4f82-866f-bf7dad58fe13\",\"trace_id\":\"ecb25ade-8dda-4d47-8bce-6b84e3c8fd0c\"}\n[2026-05-11 11:20:13] local.NOTICE: Monitoring end {\"correlation_id\":\"98b2a767-ff2a-4f82-866f-bf7dad58fe13\",\"trace_id\":\"ecb25ade-8dda-4d47-8bce-6b84e3c8fd0c\"}\n[2026-05-11 11:20:15] 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\":\"05f19e62-48e4-4c36-9577-648a2dd54abd\",\"trace_id\":\"e3d3acd1-5c23-4f37-9566-32a0cbd7a4eb\"}\n[2026-05-11 11:20:16] 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\":\"05f19e62-48e4-4c36-9577-648a2dd54abd\",\"trace_id\":\"e3d3acd1-5c23-4f37-9566-32a0cbd7a4eb\"}\n[2026-05-11 11:20:18] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:process\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"d5c19bc5-1a17-4b6d-9f62-a6715a8005c9\",\"trace_id\":\"451385cf-1bcd-4e06-8412-e5d197f5f567\"}\n[2026-05-11 11:20:18] local.INFO: [EmailSchedule] STARTING batch process {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"d5c19bc5-1a17-4b6d-9f62-a6715a8005c9\",\"trace_id\":\"451385cf-1bcd-4e06-8412-e5d197f5f567\"}\n[2026-05-11 11:20:18] local.INFO: [EmailSchedule] FINISHED batch process {\"host\":\"docker_lamp_1\",\"processed\":0} {\"correlation_id\":\"d5c19bc5-1a17-4b6d-9f62-a6715a8005c9\",\"trace_id\":\"451385cf-1bcd-4e06-8412-e5d197f5f567\"}\n[2026-05-11 11:20:18] 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\":\"d5c19bc5-1a17-4b6d-9f62-a6715a8005c9\",\"trace_id\":\"451385cf-1bcd-4e06-8412-e5d197f5f567\"}\n[2026-05-11 11:20:23] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:monitor:count\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"a01c4c40-1c1e-4865-be1f-0aa63b4fd1b9\",\"trace_id\":\"cba182ec-cbe6-4d53-b1c6-253546138cc8\"}\n[2026-05-11 11:20:23] local.INFO: Running conference:monitor:count command for activities in (2026-05-11 11:18:00, 2026-05-11 11:20:00] {\"correlation_id\":\"a01c4c40-1c1e-4865-be1f-0aa63b4fd1b9\",\"trace_id\":\"cba182ec-cbe6-4d53-b1c6-253546138cc8\"}\n[2026-05-11 11:20:23] local.INFO: [conference:monitor:count] No activities found in (2026-05-11 11:18:00, 2026-05-11 11:20:00] {\"correlation_id\":\"a01c4c40-1c1e-4865-be1f-0aa63b4fd1b9\",\"trace_id\":\"cba182ec-cbe6-4d53-b1c6-253546138cc8\"}\n[2026-05-11 11:20:23] 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\":\"a01c4c40-1c1e-4865-be1f-0aa63b4fd1b9\",\"trace_id\":\"cba182ec-cbe6-4d53-b1c6-253546138cc8\"}\n[2026-05-11 11:20:25] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"activity:purge-stale\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"b599f338-6a44-44d5-9f81-6fa300c4ea1b\",\"trace_id\":\"c7645418-4758-4410-83f2-8fe71ebf2ec2\"}\n[2026-05-11 11:20:25] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"activity:purge-stale\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"b599f338-6a44-44d5-9f81-6fa300c4ea1b\",\"trace_id\":\"c7645418-4758-4410-83f2-8fe71ebf2ec2\"}\n[2026-05-11 11:20:28] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:text-relay:sync\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"3c9d7674-d005-4372-8a60-2e8ecb587584\",\"trace_id\":\"22a0bdee-d653-4113-963c-043a68a4a8be\"}\n[2026-05-11 11:20:29] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"mailbox:text-relay:sync\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"3c9d7674-d005-4372-8a60-2e8ecb587584\",\"trace_id\":\"22a0bdee-d653-4113-963c-043a68a4a8be\"}\n[2026-05-11 11:20:31] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:pre-meeting-notification\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"1453203b-bac8-47ba-ac62-6369ac533fc2\",\"trace_id\":\"f176800e-9da8-4580-a332-56fa3402dbb7\"}\n[2026-05-11 11:20:31] local.INFO: Running pre-meeting notification command {\"correlation_id\":\"1453203b-bac8-47ba-ac62-6369ac533fc2\",\"trace_id\":\"f176800e-9da8-4580-a332-56fa3402dbb7\"}\n[2026-05-11 11:20:31] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"conference:pre-meeting-notification\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"1453203b-bac8-47ba-ac62-6369ac533fc2\",\"trace_id\":\"f176800e-9da8-4580-a332-56fa3402dbb7\"}\n[2026-05-11 11:20:33] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:monitor:start\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"2310f110-1f7e-4a28-b0c3-e5f8fc72688f\",\"trace_id\":\"9d6e8217-2f4e-4b23-8f36-8538f57064d9\"}\n[2026-05-11 11:20:33] local.INFO: Running conference:monitor:start command for activities in (2026-05-11 11:10:00, 2026-05-11 11:15:00] {\"correlation_id\":\"2310f110-1f7e-4a28-b0c3-e5f8fc72688f\",\"trace_id\":\"9d6e8217-2f4e-4b23-8f36-8538f57064d9\"}\n[2026-05-11 11:20:33] local.INFO: [conference:monitor:start] No activities found in (2026-05-11 11:10:00, 2026-05-11 11:15:00] {\"correlation_id\":\"2310f110-1f7e-4a28-b0c3-e5f8fc72688f\",\"trace_id\":\"9d6e8217-2f4e-4b23-8f36-8538f57064d9\"}\n[2026-05-11 11:20:33] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"conference:monitor:start\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"2310f110-1f7e-4a28-b0c3-e5f8fc72688f\",\"trace_id\":\"9d6e8217-2f4e-4b23-8f36-8538f57064d9\"}\n[2026-05-11 11:20:37] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:monitor:end\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"48a2dc23-76e1-4b34-b8a7-a7a957c71373\",\"trace_id\":\"b1788ca3-54cf-4031-b198-102838446996\"}\n[2026-05-11 11:20:37] local.INFO: conference:monitor:end:Jiminny\\Console\\Commands\\Activities\\MonitorMeetingEndCommand::logActivitiesEnded {\"from\":\"11:15\",\"to\":\"11:20\"} {\"correlation_id\":\"48a2dc23-76e1-4b34-b8a7-a7a957c71373\",\"trace_id\":\"b1788ca3-54cf-4031-b198-102838446996\"}\n[2026-05-11 11:20:38] local.INFO: conference:monitor:end:Jiminny\\Console\\Commands\\Activities\\MonitorMeetingEndCommand::logActivitiesWithUnfinishedSession {\"from\":\"01:10\",\"to\":\"01:15\"} {\"correlation_id\":\"48a2dc23-76e1-4b34-b8a7-a7a957c71373\",\"trace_id\":\"b1788ca3-54cf-4031-b198-102838446996\"}\n[2026-05-11 11:20:38] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"conference:monitor:end\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"48a2dc23-76e1-4b34-b8a7-a7a957c71373\",\"trace_id\":\"b1788ca3-54cf-4031-b198-102838446996\"}\n[2026-05-11 11:20:41] local.NOTICE: Repairing HubSpot tokens start {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: Trying to refresh HubSpot token {\"account_id\":59,\"updated_at\":\"2025-10-03 09:32:05\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: [SocialAccountService] Refreshing token from provider {\"socialAccountId\":59,\"provider\":\"hubspot\",\"refreshToken\":\"97b78f6e2cc49965c00c2492b602b02708b1392551e6b3f113fbaa48992af90b\",\"state\":\"full-refresh\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.ERROR: Failed to refresh HubSpot token {\"account_id\":59,\"updated_at\":\"2025-10-03 09:32:05\",\"reason\":\"missing or invalid refresh token\",\"previous\":\"\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: Trying to refresh HubSpot token {\"account_id\":306,\"updated_at\":\"2023-11-27 09:30:03\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: [SocialAccountService] Refreshing token from provider {\"socialAccountId\":306,\"provider\":\"hubspot\",\"refreshToken\":\"6fa6aa8cc641d131231acc3470f5c03cb3b07b2e580fb18f8acb3b1dbb72549b\",\"state\":\"full-refresh\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.ERROR: Failed to refresh HubSpot token {\"account_id\":306,\"updated_at\":\"2023-11-27 09:30:03\",\"reason\":\"missing or invalid refresh token\",\"previous\":\"\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: Trying to refresh HubSpot token {\"account_id\":1372,\"updated_at\":\"2025-10-02 14:47:06\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: [SocialAccountService] Refreshing token from provider {\"socialAccountId\":1372,\"provider\":\"hubspot\",\"refreshToken\":\"9aa73948c761da29dce46c177cf9aee1fde483a44169ca38723f9f0597d7a8c4\",\"state\":\"full-refresh\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:43] local.ERROR: Failed to refresh HubSpot token {\"account_id\":1372,\"updated_at\":\"2025-10-02 14:47:06\",\"reason\":\"missing or invalid refresh token\",\"previous\":\"\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:43] local.NOTICE: Repairing HubSpot tokens end {\"total\":3,\"fixed\":0,\"failed\":3} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:48] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"jiminny:transcription:retry-failed\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"28cf48be-a629-420c-a0a4-0d20fbd05838\",\"trace_id\":\"4fdaba19-5d8e-45db-a600-da048c8066fb\"}\n[2026-05-11 11:20:48] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:pre-meeting-reminder\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"6a6c06af-94cf-46bf-976e-55e401b3a588\",\"trace_id\":\"338c3b84-fc5a-404b-bed6-97341331ae68\"}\n[2026-05-11 11:20:48] local.INFO: [HubSpot Journal Command] Starting polling service {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:48] local.INFO: [HubSpot Journal Polling] Service starting {\"memory_limit\":\"256M\",\"max_execution_time\":\"0\",\"initial_memory_mb\":60.0} {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:48] local.INFO: [HubSpot Journal Polling] Acquired polling lock {\"expires_at\":\"2026-05-11T11:22:48.807561Z\"} {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:48] local.INFO: [HubSpot Journal Auth] Requesting new client credentials token {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:48] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"jiminny:transcription:retry-failed\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"28cf48be-a629-420c-a0a4-0d20fbd05838\",\"trace_id\":\"4fdaba19-5d8e-45db-a600-da048c8066fb\"}\n[2026-05-11 11:20:49] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"conference:pre-meeting-reminder\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"6a6c06af-94cf-46bf-976e-55e401b3a588\",\"trace_id\":\"338c3b84-fc5a-404b-bed6-97341331ae68\"}\n[2026-05-11 11:20:49] local.INFO: [HubSpot Journal Auth] Successfully obtained new access token {\"expires_in\":1800,\"cached_for\":1500} {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:49] local.INFO: [HubSpot Journal Polling] No data {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:53] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"crm:reset-governor\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"c8d52370-b908-428c-b973-699db0be2136\",\"trace_id\":\"fabc1f54-e263-4ba0-b8ff-324f62e84f1f\"}\n[2026-05-11 11:20:53] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"crm:reset-governor\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"c8d52370-b908-428c-b973-699db0be2136\",\"trace_id\":\"fabc1f54-e263-4ba0-b8ff-324f62e84f1f\"}\n[2026-05-11 11:20:54] local.INFO: [HubSpot Journal Polling] No data {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:56] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"crm:bullhorn:ping\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"de84a4c9-d2c5-4950-8c2d-f400cee667bf\",\"trace_id\":\"223fd9b2-ed24-4083-98cd-1bc4040dbbd1\"}\n[2026-05-11 11:20:57] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"crm:bullhorn:ping\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"de84a4c9-d2c5-4950-8c2d-f400cee667bf\",\"trace_id\":\"223fd9b2-ed24-4083-98cd-1bc4040dbbd1\"}\n[2026-05-11 11:20:59] local.INFO: [HubSpot Journal Polling] No data {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}","depth":4,"on_screen":true,"value":"[2026-05-11 11:17:21] local.NOTICE: Monitoring start {\"correlation_id\":\"885fde59-3852-4120-a620-af3da7ecce17\",\"trace_id\":\"4cc10f53-5d39-418d-8e98-fe53d9bbff5f\"}\n[2026-05-11 11:17:21] local.NOTICE: Monitoring end {\"correlation_id\":\"885fde59-3852-4120-a620-af3da7ecce17\",\"trace_id\":\"4cc10f53-5d39-418d-8e98-fe53d9bbff5f\"}\n[2026-05-11 11:17:34] 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\":\"a773fb28-5a0c-4b8f-a1b5-d57e6b81db90\",\"trace_id\":\"fb6d8028-db7d-4ef2-b175-740f0a7b8b39\"}\n[2026-05-11 11:17:35] 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\":\"a773fb28-5a0c-4b8f-a1b5-d57e6b81db90\",\"trace_id\":\"fb6d8028-db7d-4ef2-b175-740f0a7b8b39\"}\n[2026-05-11 11:17:37] 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\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] 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\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] 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\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] 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\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":1,\"reason\":\"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\\\":\\\"019e16c1-c (truncated...)\n\"} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":4} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] 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\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] 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\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":3} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] 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\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] 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\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":1} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] 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\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] 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\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":1,\"reason\":\"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\\\":\\\"019e16c1-c (truncated...)\n\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":2} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":614378,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":6167,\"account_id\":null,\"opportunity_id\":null,\"stage_id\":null}} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] 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\":6167,\"lead_id\":null},{\"id\":1002625,\"user_id\":89,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":3} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613840,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613840} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613840,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":261} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":299} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613840,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613840} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613840,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613833,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613833} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613833,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":1.0,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613833,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613833} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613833,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613827,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613827} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613827,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613827,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613827} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613827,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613826,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613826} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613826,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613826,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613826} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613826,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613820,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613820} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613820,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613820,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613820} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613820,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613818,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613818} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613818,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613818,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613818} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613818,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613812,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613812} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613812,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613812,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613812} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613812,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613807,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4484,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613807} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613807,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":4484,\"lead_id\":null}]} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":243,\"contact_id\":4484,\"owner_id\":253} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":243,\"contact_id\":4484} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":243,\"contact_id\":4484,\"opportunity_id\":276} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"tsvetomir.banovski@gmail.com\"} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613807,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613807} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613807,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613806,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613806} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613806,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":253} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":244,\"contact_id\":4487} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":350} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613806,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613806} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613806,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613805,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613805} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613805,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613805,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613805} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613805,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613698,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613698} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613698,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613698,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613698} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613698,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613697,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613697} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613697,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613697,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613697} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613697,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613696,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613696} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613696,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613696,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613696} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613696,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613695,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613695} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613695,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613695,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613695} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613695,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613694,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613694} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613694,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613694,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613694} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613694,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613157,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613157} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613157,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613157,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613157} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613157,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613156,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613156} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613156,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613156,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613156} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613156,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:process\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"859a4ec6-5c81-4283-bb96-c3ebaf5ff599\",\"trace_id\":\"f8a2783e-c54a-4d43-8cf6-61594479b0e7\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613155,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613155} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613155,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EmailSchedule] STARTING batch process {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"859a4ec6-5c81-4283-bb96-c3ebaf5ff599\",\"trace_id\":\"f8a2783e-c54a-4d43-8cf6-61594479b0e7\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613155,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613155} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613155,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EmailSchedule] FINISHED batch process {\"host\":\"docker_lamp_1\",\"processed\":0} {\"correlation_id\":\"859a4ec6-5c81-4283-bb96-c3ebaf5ff599\",\"trace_id\":\"f8a2783e-c54a-4d43-8cf6-61594479b0e7\"}\n[2026-05-11 11:17:42] 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\":\"859a4ec6-5c81-4283-bb96-c3ebaf5ff599\",\"trace_id\":\"f8a2783e-c54a-4d43-8cf6-61594479b0e7\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613130,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613130} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613130,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613130,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613130} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613130,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":165,\"stage_id\":89}} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612924} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612924,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":69,\"contact_id\":97,\"owner_id\":19} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":69,\"contact_id\":97,\"opportunity_id\":165} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612924,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612924} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612924,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":165,\"stage_id\":89}} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612923} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612923,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612923,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612923} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612923,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":165,\"stage_id\":89}} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612922} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612922,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612922,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612922} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612922,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612847,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612847,\"participants\":[{\"id\":1000130,\"user_id\":null,\"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\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] 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\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] 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\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":1,\"reason\":\"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\\\":\\\"019e16c1-d (truncated...)\n\"} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":5} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612822,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612822} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612822,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] 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\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] 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\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612822,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612822} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612822,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] 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\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612819,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] 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\":null,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] 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\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:47] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":1,\"reason\":\"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\\\":\\\"019e16c1-e (truncated...)\n\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:47] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":4} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612673,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612673} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612673,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] 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\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] 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\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612673,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612673} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612673,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] 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\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612642,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612642} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612642,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] 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\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] 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\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612642,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612642} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612642,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] 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\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612598} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612598,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] 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\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":243,\"contact_id\":4491,\"owner_id\":206} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":243,\"contact_id\":4491} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":243,\"contact_id\":4491,\"opportunity_id\":276} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] 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\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612598,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612598} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612598,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] 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\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612597} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612597,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] 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\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] 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\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:54] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612597,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612597} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612597,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:54] 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\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17: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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612596} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612596,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17: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\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17: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\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17: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\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612596} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612596,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17: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\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612595} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612595,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] 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\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] 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\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612595,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612595} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612595,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] 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\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612594} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612594,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] 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\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] 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\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612594,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612594} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612594,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] 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\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612593} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612593,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612593,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612593} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612593,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612592} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612592,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] 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\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612592,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612592} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612592,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] 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\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612591} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612591,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] 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\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612591,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612591} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612591,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612590} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612590,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612590,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612590} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612590,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612589} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612589,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612589,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612589} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612589,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612588} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612588,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612588,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612588} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612588,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":16.99,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:02] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612587} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612587,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612587,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612587} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612587,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612586} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612586,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612586,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612586} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612586,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612585} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612585,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] 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\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] 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\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612585,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612585} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612585,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] 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\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612584} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612584,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:05] 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\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] 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\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612584,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612584} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612584,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] 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\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612583} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612583,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] 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\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] 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\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612583,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612583} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612583,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:08] 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\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612582} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612582,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] 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\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] 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\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612582,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612582} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612582,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:10] 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\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612581} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612581,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] 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\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":4.14,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:11] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:12] 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\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:12] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612581,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:12] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612581} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:12] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612581,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:12] 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\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612565} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612565,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] 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\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:create\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"feff8215-75fe-40b2-916e-951435e048aa\",\"trace_id\":\"46d069ed-7c2b-4fdc-9679-9ec571a88271\"}\n[2026-05-11 11:18:15] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] 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\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612565,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612565} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612565,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:16] 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\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:16] local.INFO: [EmailSchedule] STARTING batch create {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"feff8215-75fe-40b2-916e-951435e048aa\",\"trace_id\":\"46d069ed-7c2b-4fdc-9679-9ec571a88271\"}\n[2026-05-11 11:18:16] 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\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:16] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612563} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:16] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612563,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:16] 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\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] 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\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":206} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":244,\"contact_id\":4487} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":350} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: [EmailSchedule] FINISHED batch create {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"feff8215-75fe-40b2-916e-951435e048aa\",\"trace_id\":\"46d069ed-7c2b-4fdc-9679-9ec571a88271\"}\n[2026-05-11 11:18:18] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"mailbox:batch:create\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"feff8215-75fe-40b2-916e-951435e048aa\",\"trace_id\":\"46d069ed-7c2b-4fdc-9679-9ec571a88271\"}\n[2026-05-11 11:18:18] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:19] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612563,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:19] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612563} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:19] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612563,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:19] 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\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:19] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":3.06,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:19] local.INFO: [Jiminny\\Jobs\\Mailbox\\CreateBatches] processed 2 inboxes and created 0 batches {\"userId\":null,\"batchSize\":30,\"maxBatches\":1000} {\"correlation_id\":\"5a640073-717d-40da-ad67-be02e37c56a2\",\"trace_id\":\"46d069ed-7c2b-4fdc-9679-9ec571a88271\"}\n[2026-05-11 11:18:20] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612562} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612562,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:21] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:21] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:21] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:22] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"447782589921@txt.staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:22] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:22] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:22] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:22] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:22] 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.32,\"average_seconds_per_request\":0.32} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612562,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612562} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612562,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612561} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612561,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] 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\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] 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\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\"} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612561,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612561} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612561,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612560} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612560,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"447782589921@txt.staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612560,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612560} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612560,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":1.89,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:26] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612559} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612559,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] 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\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] 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\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":69,\"contact_id\":97,\"owner_id\":206} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":69,\"contact_id\":97} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":69,\"contact_id\":97,\"opportunity_id\":5011} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612559,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612559} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612559,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] 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\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612558} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612558,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612558,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612558} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612558,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612557} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612557,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612557,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612557} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612557,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612556} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612556,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612556,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612556} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612556,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612555} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612555,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612555,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612555} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612555,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612554} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612554,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612554,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612554} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612554,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612553} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612553,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] 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\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612553,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612553} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612553,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] 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\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612552} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612552,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612552,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612552} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612552,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612551} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612551,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612551,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612551} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612551,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612550} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612550,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612550,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612550} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612550,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612549} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612549,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612549,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612549} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612549,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612365,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612365} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612365,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":243,\"contact_id\":4491,\"owner_id\":206} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":243,\"contact_id\":4491} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":243,\"contact_id\":4491,\"opportunity_id\":276} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612365,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612365} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612365,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612360,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612360} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612360,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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.29,\"average_seconds_per_request\":0.29} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612360,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612360} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612360,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612340,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612340} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612340,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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.34,\"average_seconds_per_request\":0.34} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612340,\"participants_processed\":4,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612340} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612340,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.75,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:32] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612339,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612339} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612339,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612339,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612339} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612339,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612336,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612336} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612336,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612336,\"participants_processed\":4,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612336} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612336,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612183,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612183} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612183,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":261} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":299} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612183,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612183} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612183,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612182,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612182} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612182,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612182,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612182} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612182,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612181,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612181} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612181,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612181,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612181} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612181,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612180,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612180} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612180,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612180,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612180} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612180,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611455} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611455,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:35] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:35] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:35] 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.27,\"average_seconds_per_request\":0.27} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611455,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611455} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611455,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611451} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] 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\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] 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\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] 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\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:37] 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.25,\"average_seconds_per_request\":0.25} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:37] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:37] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:37] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:37] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:37] 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\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:38] 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.44,\"average_seconds_per_request\":0.44} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] 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\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":3.16,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611451,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611451} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] 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\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611087} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611087,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] 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\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] 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\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611087,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611087} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611087,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] 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\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611076} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611076,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] 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\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] 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\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611076,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611076} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611076,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] 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\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610935} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610935,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610935,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610935} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610935,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610915} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610915,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610915,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610915} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610915,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610900} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610900,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610900,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610900} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610900,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610885} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610885,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610885,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610885} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610885,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610878} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610878,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610878,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610878} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610878,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610874} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610874,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610874,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610874} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610874,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610867} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610867,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610867,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610867} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610867,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610764} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610764,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610764,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610764} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610764,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610617} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610617,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610617,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610617} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610617,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610539} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610539,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610539,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610539} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610539,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.4,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:46] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610528} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610528,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610528,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610528} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610528,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610506} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610506,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610506,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610506} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610506,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610497} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610497,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610497,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610497} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610497,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610490} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610490,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610490,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610490} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610490,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610470} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610470,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610470,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610470} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610470,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610462} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610462,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610462,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610462} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610462,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610451} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610451,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610451} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610438} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610438,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610438,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610438} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610438,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610426} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610426,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610426,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610426} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610426,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610403} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610403,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610403,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610403} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610403,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610400} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610400,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":1460} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":244,\"contact_id\":4487} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":350} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610400,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610400} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610400,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] 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}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18: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\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18: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.51,\"average_seconds_per_request\":0.51} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:49] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:49] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:49] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:49] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18: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}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:49] 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.35,\"average_seconds_per_request\":0.35} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:50] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":614382,\"team_id\":2,\"email\":\"nikolay.nikolov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:50] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614382,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:50] 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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:50] 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}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] 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}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":614381,\"team_id\":2,\"email\":\"nikolay.nikolov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614381,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] 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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] 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}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] 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}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18: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\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":615092,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18: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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18: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}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18: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}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18: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\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614436,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18: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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":614378,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":6167,\"account_id\":null,\"opportunity_id\":null,\"stage_id\":null}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:50] 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\":6167,\"lead_id\":null},{\"id\":1002625,\"user_id\":89,\"contact_id\":null,\"lead_id\":null}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nmalchev@gmail.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18: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\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614378,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18: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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612847,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612847,\"participants\":[{\"id\":1000130,\"user_id\":null,\"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}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.84,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:51] 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\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:52] 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.28,\"average_seconds_per_request\":0.28} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:52] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"adelina.petrova@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:52] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:52] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:52] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:52] 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}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:53] 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.43,\"average_seconds_per_request\":0.43} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:53] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612847,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:53] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:53] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612847,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18: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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:54] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612819,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18: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\":null,\"contact_id\":null,\"lead_id\":null}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18: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\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"adelina.petrova@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612819,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18: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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:57] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.25,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:19:07] 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\":\"70d16739-7654-4185-99cb-49559aafc660\",\"trace_id\":\"d100f21a-5975-471a-b245-90b25b177c8f\"}\n[2026-05-11 11:19:07] local.INFO: [ScheduleBotCommand] Number of activities to be captured: 0 {\"correlation_id\":\"70d16739-7654-4185-99cb-49559aafc660\",\"trace_id\":\"d100f21a-5975-471a-b245-90b25b177c8f\"}\n[2026-05-11 11:19:07] 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\":\"70d16739-7654-4185-99cb-49559aafc660\",\"trace_id\":\"d100f21a-5975-471a-b245-90b25b177c8f\"}\n[2026-05-11 11:19:12] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"dialers:monitor-activities\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"91df8068-6c15-4614-947e-90f48574662c\",\"trace_id\":\"a9a86198-7521-4c0c-a89e-d23b34f2f8bf\"}\n[2026-05-11 11:19:12] 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\":\"91df8068-6c15-4614-947e-90f48574662c\",\"trace_id\":\"a9a86198-7521-4c0c-a89e-d23b34f2f8bf\"}\n[2026-05-11 11:19:15] local.NOTICE: Monitoring start {\"correlation_id\":\"6fae005c-3fcd-4718-86b0-f08f140f889c\",\"trace_id\":\"233ad400-a3ad-4093-8660-9e477cd6ca8f\"}\n[2026-05-11 11:19:15] local.NOTICE: Monitoring end {\"correlation_id\":\"6fae005c-3fcd-4718-86b0-f08f140f889c\",\"trace_id\":\"233ad400-a3ad-4093-8660-9e477cd6ca8f\"}\n[2026-05-11 11:19:18] 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\":\"08b79017-e665-425f-8048-21f93b1abf3b\",\"trace_id\":\"bb7a7ea5-30d3-4a13-9c3c-84bc1f9c26e7\"}\n[2026-05-11 11:19:18] 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\":\"08b79017-e665-425f-8048-21f93b1abf3b\",\"trace_id\":\"bb7a7ea5-30d3-4a13-9c3c-84bc1f9c26e7\"}\n[2026-05-11 11:19:21] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:process\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"0c31163b-b05f-4d3f-9a66-a2ce01d94010\",\"trace_id\":\"3dfb6352-28a3-4c77-b6ff-a11e0a7821a0\"}\n[2026-05-11 11:19:21] local.INFO: [EmailSchedule] STARTING batch process {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"0c31163b-b05f-4d3f-9a66-a2ce01d94010\",\"trace_id\":\"3dfb6352-28a3-4c77-b6ff-a11e0a7821a0\"}\n[2026-05-11 11:19:22] local.INFO: [EmailSchedule] FINISHED batch process {\"host\":\"docker_lamp_1\",\"processed\":0} {\"correlation_id\":\"0c31163b-b05f-4d3f-9a66-a2ce01d94010\",\"trace_id\":\"3dfb6352-28a3-4c77-b6ff-a11e0a7821a0\"}\n[2026-05-11 11:19:22] 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\":\"0c31163b-b05f-4d3f-9a66-a2ce01d94010\",\"trace_id\":\"3dfb6352-28a3-4c77-b6ff-a11e0a7821a0\"}\n[2026-05-11 11:20:08] 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\":\"cb3a4a64-b00b-4f94-9e00-c190cd7a7a42\",\"trace_id\":\"acd43b75-f255-471f-9563-f03de03c7e23\"}\n[2026-05-11 11:20:08] local.INFO: [ScheduleBotCommand] Number of activities to be captured: 0 {\"correlation_id\":\"cb3a4a64-b00b-4f94-9e00-c190cd7a7a42\",\"trace_id\":\"acd43b75-f255-471f-9563-f03de03c7e23\"}\n[2026-05-11 11:20:08] 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\":\"cb3a4a64-b00b-4f94-9e00-c190cd7a7a42\",\"trace_id\":\"acd43b75-f255-471f-9563-f03de03c7e23\"}\n[2026-05-11 11:20:10] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"dialers:monitor-activities\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"8ab6728e-9079-4166-bf97-fed4fb2ac7de\",\"trace_id\":\"508ecd6c-81db-47d4-8fad-d40b1e55cff3\"}\n[2026-05-11 11:20:10] 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\":\"8ab6728e-9079-4166-bf97-fed4fb2ac7de\",\"trace_id\":\"508ecd6c-81db-47d4-8fad-d40b1e55cff3\"}\n[2026-05-11 11:20:13] local.NOTICE: Monitoring start {\"correlation_id\":\"98b2a767-ff2a-4f82-866f-bf7dad58fe13\",\"trace_id\":\"ecb25ade-8dda-4d47-8bce-6b84e3c8fd0c\"}\n[2026-05-11 11:20:13] local.NOTICE: Monitoring end {\"correlation_id\":\"98b2a767-ff2a-4f82-866f-bf7dad58fe13\",\"trace_id\":\"ecb25ade-8dda-4d47-8bce-6b84e3c8fd0c\"}\n[2026-05-11 11:20:15] 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\":\"05f19e62-48e4-4c36-9577-648a2dd54abd\",\"trace_id\":\"e3d3acd1-5c23-4f37-9566-32a0cbd7a4eb\"}\n[2026-05-11 11:20:16] 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\":\"05f19e62-48e4-4c36-9577-648a2dd54abd\",\"trace_id\":\"e3d3acd1-5c23-4f37-9566-32a0cbd7a4eb\"}\n[2026-05-11 11:20:18] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:process\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"d5c19bc5-1a17-4b6d-9f62-a6715a8005c9\",\"trace_id\":\"451385cf-1bcd-4e06-8412-e5d197f5f567\"}\n[2026-05-11 11:20:18] local.INFO: [EmailSchedule] STARTING batch process {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"d5c19bc5-1a17-4b6d-9f62-a6715a8005c9\",\"trace_id\":\"451385cf-1bcd-4e06-8412-e5d197f5f567\"}\n[2026-05-11 11:20:18] local.INFO: [EmailSchedule] FINISHED batch process {\"host\":\"docker_lamp_1\",\"processed\":0} {\"correlation_id\":\"d5c19bc5-1a17-4b6d-9f62-a6715a8005c9\",\"trace_id\":\"451385cf-1bcd-4e06-8412-e5d197f5f567\"}\n[2026-05-11 11:20:18] 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\":\"d5c19bc5-1a17-4b6d-9f62-a6715a8005c9\",\"trace_id\":\"451385cf-1bcd-4e06-8412-e5d197f5f567\"}\n[2026-05-11 11:20:23] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:monitor:count\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"a01c4c40-1c1e-4865-be1f-0aa63b4fd1b9\",\"trace_id\":\"cba182ec-cbe6-4d53-b1c6-253546138cc8\"}\n[2026-05-11 11:20:23] local.INFO: Running conference:monitor:count command for activities in (2026-05-11 11:18:00, 2026-05-11 11:20:00] {\"correlation_id\":\"a01c4c40-1c1e-4865-be1f-0aa63b4fd1b9\",\"trace_id\":\"cba182ec-cbe6-4d53-b1c6-253546138cc8\"}\n[2026-05-11 11:20:23] local.INFO: [conference:monitor:count] No activities found in (2026-05-11 11:18:00, 2026-05-11 11:20:00] {\"correlation_id\":\"a01c4c40-1c1e-4865-be1f-0aa63b4fd1b9\",\"trace_id\":\"cba182ec-cbe6-4d53-b1c6-253546138cc8\"}\n[2026-05-11 11:20:23] 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\":\"a01c4c40-1c1e-4865-be1f-0aa63b4fd1b9\",\"trace_id\":\"cba182ec-cbe6-4d53-b1c6-253546138cc8\"}\n[2026-05-11 11:20:25] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"activity:purge-stale\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"b599f338-6a44-44d5-9f81-6fa300c4ea1b\",\"trace_id\":\"c7645418-4758-4410-83f2-8fe71ebf2ec2\"}\n[2026-05-11 11:20:25] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"activity:purge-stale\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"b599f338-6a44-44d5-9f81-6fa300c4ea1b\",\"trace_id\":\"c7645418-4758-4410-83f2-8fe71ebf2ec2\"}\n[2026-05-11 11:20:28] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:text-relay:sync\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"3c9d7674-d005-4372-8a60-2e8ecb587584\",\"trace_id\":\"22a0bdee-d653-4113-963c-043a68a4a8be\"}\n[2026-05-11 11:20:29] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"mailbox:text-relay:sync\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"3c9d7674-d005-4372-8a60-2e8ecb587584\",\"trace_id\":\"22a0bdee-d653-4113-963c-043a68a4a8be\"}\n[2026-05-11 11:20:31] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:pre-meeting-notification\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"1453203b-bac8-47ba-ac62-6369ac533fc2\",\"trace_id\":\"f176800e-9da8-4580-a332-56fa3402dbb7\"}\n[2026-05-11 11:20:31] local.INFO: Running pre-meeting notification command {\"correlation_id\":\"1453203b-bac8-47ba-ac62-6369ac533fc2\",\"trace_id\":\"f176800e-9da8-4580-a332-56fa3402dbb7\"}\n[2026-05-11 11:20:31] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"conference:pre-meeting-notification\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"1453203b-bac8-47ba-ac62-6369ac533fc2\",\"trace_id\":\"f176800e-9da8-4580-a332-56fa3402dbb7\"}\n[2026-05-11 11:20:33] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:monitor:start\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"2310f110-1f7e-4a28-b0c3-e5f8fc72688f\",\"trace_id\":\"9d6e8217-2f4e-4b23-8f36-8538f57064d9\"}\n[2026-05-11 11:20:33] local.INFO: Running conference:monitor:start command for activities in (2026-05-11 11:10:00, 2026-05-11 11:15:00] {\"correlation_id\":\"2310f110-1f7e-4a28-b0c3-e5f8fc72688f\",\"trace_id\":\"9d6e8217-2f4e-4b23-8f36-8538f57064d9\"}\n[2026-05-11 11:20:33] local.INFO: [conference:monitor:start] No activities found in (2026-05-11 11:10:00, 2026-05-11 11:15:00] {\"correlation_id\":\"2310f110-1f7e-4a28-b0c3-e5f8fc72688f\",\"trace_id\":\"9d6e8217-2f4e-4b23-8f36-8538f57064d9\"}\n[2026-05-11 11:20:33] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"conference:monitor:start\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"2310f110-1f7e-4a28-b0c3-e5f8fc72688f\",\"trace_id\":\"9d6e8217-2f4e-4b23-8f36-8538f57064d9\"}\n[2026-05-11 11:20:37] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:monitor:end\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"48a2dc23-76e1-4b34-b8a7-a7a957c71373\",\"trace_id\":\"b1788ca3-54cf-4031-b198-102838446996\"}\n[2026-05-11 11:20:37] local.INFO: conference:monitor:end:Jiminny\\Console\\Commands\\Activities\\MonitorMeetingEndCommand::logActivitiesEnded {\"from\":\"11:15\",\"to\":\"11:20\"} {\"correlation_id\":\"48a2dc23-76e1-4b34-b8a7-a7a957c71373\",\"trace_id\":\"b1788ca3-54cf-4031-b198-102838446996\"}\n[2026-05-11 11:20:38] local.INFO: conference:monitor:end:Jiminny\\Console\\Commands\\Activities\\MonitorMeetingEndCommand::logActivitiesWithUnfinishedSession {\"from\":\"01:10\",\"to\":\"01:15\"} {\"correlation_id\":\"48a2dc23-76e1-4b34-b8a7-a7a957c71373\",\"trace_id\":\"b1788ca3-54cf-4031-b198-102838446996\"}\n[2026-05-11 11:20:38] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"conference:monitor:end\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"48a2dc23-76e1-4b34-b8a7-a7a957c71373\",\"trace_id\":\"b1788ca3-54cf-4031-b198-102838446996\"}\n[2026-05-11 11:20:41] local.NOTICE: Repairing HubSpot tokens start {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: Trying to refresh HubSpot token {\"account_id\":59,\"updated_at\":\"2025-10-03 09:32:05\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: [SocialAccountService] Refreshing token from provider {\"socialAccountId\":59,\"provider\":\"hubspot\",\"refreshToken\":\"97b78f6e2cc49965c00c2492b602b02708b1392551e6b3f113fbaa48992af90b\",\"state\":\"full-refresh\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.ERROR: Failed to refresh HubSpot token {\"account_id\":59,\"updated_at\":\"2025-10-03 09:32:05\",\"reason\":\"missing or invalid refresh token\",\"previous\":\"\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: Trying to refresh HubSpot token {\"account_id\":306,\"updated_at\":\"2023-11-27 09:30:03\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: [SocialAccountService] Refreshing token from provider {\"socialAccountId\":306,\"provider\":\"hubspot\",\"refreshToken\":\"6fa6aa8cc641d131231acc3470f5c03cb3b07b2e580fb18f8acb3b1dbb72549b\",\"state\":\"full-refresh\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.ERROR: Failed to refresh HubSpot token {\"account_id\":306,\"updated_at\":\"2023-11-27 09:30:03\",\"reason\":\"missing or invalid refresh token\",\"previous\":\"\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: Trying to refresh HubSpot token {\"account_id\":1372,\"updated_at\":\"2025-10-02 14:47:06\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: [SocialAccountService] Refreshing token from provider {\"socialAccountId\":1372,\"provider\":\"hubspot\",\"refreshToken\":\"9aa73948c761da29dce46c177cf9aee1fde483a44169ca38723f9f0597d7a8c4\",\"state\":\"full-refresh\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:43] local.ERROR: Failed to refresh HubSpot token {\"account_id\":1372,\"updated_at\":\"2025-10-02 14:47:06\",\"reason\":\"missing or invalid refresh token\",\"previous\":\"\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:43] local.NOTICE: Repairing HubSpot tokens end {\"total\":3,\"fixed\":0,\"failed\":3} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:48] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"jiminny:transcription:retry-failed\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"28cf48be-a629-420c-a0a4-0d20fbd05838\",\"trace_id\":\"4fdaba19-5d8e-45db-a600-da048c8066fb\"}\n[2026-05-11 11:20:48] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:pre-meeting-reminder\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"6a6c06af-94cf-46bf-976e-55e401b3a588\",\"trace_id\":\"338c3b84-fc5a-404b-bed6-97341331ae68\"}\n[2026-05-11 11:20:48] local.INFO: [HubSpot Journal Command] Starting polling service {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:48] local.INFO: [HubSpot Journal Polling] Service starting {\"memory_limit\":\"256M\",\"max_execution_time\":\"0\",\"initial_memory_mb\":60.0} {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:48] local.INFO: [HubSpot Journal Polling] Acquired polling lock {\"expires_at\":\"2026-05-11T11:22:48.807561Z\"} {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:48] local.INFO: [HubSpot Journal Auth] Requesting new client credentials token {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:48] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"jiminny:transcription:retry-failed\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"28cf48be-a629-420c-a0a4-0d20fbd05838\",\"trace_id\":\"4fdaba19-5d8e-45db-a600-da048c8066fb\"}\n[2026-05-11 11:20:49] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"conference:pre-meeting-reminder\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"6a6c06af-94cf-46bf-976e-55e401b3a588\",\"trace_id\":\"338c3b84-fc5a-404b-bed6-97341331ae68\"}\n[2026-05-11 11:20:49] local.INFO: [HubSpot Journal Auth] Successfully obtained new access token {\"expires_in\":1800,\"cached_for\":1500} {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:49] local.INFO: [HubSpot Journal Polling] No data {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:53] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"crm:reset-governor\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"c8d52370-b908-428c-b973-699db0be2136\",\"trace_id\":\"fabc1f54-e263-4ba0-b8ff-324f62e84f1f\"}\n[2026-05-11 11:20:53] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"crm:reset-governor\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"c8d52370-b908-428c-b973-699db0be2136\",\"trace_id\":\"fabc1f54-e263-4ba0-b8ff-324f62e84f1f\"}\n[2026-05-11 11:20:54] local.INFO: [HubSpot Journal Polling] No data {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:56] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"crm:bullhorn:ping\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"de84a4c9-d2c5-4950-8c2d-f400cee667bf\",\"trace_id\":\"223fd9b2-ed24-4083-98cd-1bc4040dbbd1\"}\n[2026-05-11 11:20:57] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"crm:bullhorn:ping\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"de84a4c9-d2c5-4950-8c2d-f400cee667bf\",\"trace_id\":\"223fd9b2-ed24-4083-98cd-1bc4040dbbd1\"}\n[2026-05-11 11:20:59] local.INFO: [HubSpot Journal Polling] No data {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}","role_description":"text entry area","is_enabled":true,"is_focused":false,"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}]...
|
3313799739692082153
|
6378616412482181476
|
idle
|
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
2
67
3
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Services\Crm\Hubspot;
use HubSpot\Client\Crm\Deals\ApiException as DealApiException;
use HubSpot\Client\Crm\Contacts\ApiException as ContactApiException;
use HubSpot\Client\Crm\Companies\ApiException as CompanyApiException;
use HubSpot\Client\Crm\Contacts\Model\SimplePublicObjectWithAssociations as ContactsWithAssociations;
use HubSpot\Client\Crm\Companies\Model\SimplePublicObjectWithAssociations as CompaniesWithAssociations;
use HubSpot\Client\Crm\Deals\Model\SimplePublicObjectWithAssociations as DealWithAssociations;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectInput;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectWithAssociations as ObjectWithAssociations;
use HubSpot\Client\Crm\Pipelines\Model\Error;
use HubSpot\Client\Crm\Pipelines\Model\PipelineStage;
use HubSpot\Client\Crm\Properties\Model\Property;
use HubSpot\Discovery\Discovery;
use Jiminny\Exceptions\CrmException;
use Jiminny\Exceptions\RateLimitException;
use Jiminny\Exceptions\SocialAccountTokenInvalidException;
use Jiminny\Jobs\Crm\NoteObject;
use Jiminny\Models\Crm\Field;
use Jiminny\Services\Crm\BaseClient;
use Jiminny\Services\Crm\Hubspot\DTO\Response\Owner;
use Jiminny\Services\SocialAccountService;
use SevenShores\Hubspot\Exceptions\BadRequest;
use SevenShores\Hubspot\Exceptions\HubspotException;
use SevenShores\Hubspot\Factory;
use SevenShores\Hubspot\Http\Response;
use Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService;
use Illuminate\Support\Facades\Redis;
use Throwable;
/**
* @phpstan-type 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)
{
$cacheKey = $this->getRateLimitCacheKey();
$cachedRetryAfter = Redis::get($cacheKey);
if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {
throw new RateLimitException(
'Hubspot rate limit (cached circuit-breaker)',
(int) $cachedRetryAfter,
);
}
try {
return $apiCall();
} catch (Throwable $e) {
if ($this->isHubspotRateLimit($e)) {
$retryAfter = $this->parseRetryAfter($e);
Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);
$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 getRateLimitCacheKey(): string
{
return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());
}
public function isHubspotRateLimit(Throwable $e): bool
{
if ($e instanceof BadRequest
|| $e instanceof DealApiException
|| $e instanceof ContactApiException
|| $e instanceof CompanyApiException
|| $e instanceof \GuzzleHttp\Exception\RequestException
) {
return (int) $e->getCode() === 429;
}
return false;
}
public 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;
}
}
$message = strtolower($e->getMessage());
if (str_contains($message, 'daily')) {
return 600;
}
if (str_contains($message, 'ten secondly')) {
return 10;
}
if (str_contains($message, 'secondly')) {
return 1;
}
$this->log->warning('[Hubspot] No retry-after header or known message, using default', [
'exception_class' => get_class($e),
'message' => $message,
]);
return 10;
}
public function parseMessage(Throwable $e): string
{
if (! method_exists($e, 'getResponseBody')) {
return '';
}
$body = $e->getResponseBody();
if (is_string($body)) {
$body = json_decode($body, true) ?? [];
}
if (! is_array($body)) {
return '';
}
return (string) ($body['message'] ?? '');
}
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
);
}
/**
* Execute a search request against HubSpot CRM objects with rate limiting.
*
* @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')
* @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.
* @return array The search response with 'results', 'total', 'paging' keys
* @throws RateLimitException When rate limit is hit
* @throws HubspotException On API errors
*/
public function search(string $objectType, array $payload): array
{
$endpoint = self::BASE_URL . "/crm/v3/objects/{$objectType}/search";
return $this->executeRequest(function () use ($endpoint, $payload) {
$response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);
return $response->toArray();
});
}
/**
* @throws DealApiException
* @throws CrmException
*/
public function getOpportunityById(string $crmId, array $fields): array
{
try {
$deal = $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') {
return $this->getInstance()->getClient()?->request(
method: $method,
endpoint: $endpoint,
query_string: $queryString
);
} else {
return $this->getInstance()->getClient()->request($method, $endpoint, [
'json' => ($payload),
]);
}
}
/**
* @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 (RateLimitException $e) {
// throw $e;
} 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);
}
}
Show Replace Field
Search History
429
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
23/38
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Sync Changes
Hide This Notification
Code changed:
Hide
[2026-05-11 11:17:21] local.NOTICE: Monitoring start {"correlation_id":"885fde59-3852-4120-a620-af3da7ecce17","trace_id":"4cc10f53-5d39-418d-8e98-fe53d9bbff5f"}
[2026-05-11 11:17:21] local.NOTICE: Monitoring end {"correlation_id":"885fde59-3852-4120-a620-af3da7ecce17","trace_id":"4cc10f53-5d39-418d-8e98-fe53d9bbff5f"}
[2026-05-11 11:17:34] 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":"a773fb28-5a0c-4b8f-a1b5-d57e6b81db90","trace_id":"fb6d8028-db7d-4ef2-b175-740f0a7b8b39"}
[2026-05-11 11:17:35] 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":"a773fb28-5a0c-4b8f-a1b5-d57e6b81db90","trace_id":"fb6d8028-db7d-4ef2-b175-740f0a7b8b39"}
[2026-05-11 11:17:37] 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":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":615092} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":615092,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] 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":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [Prospect match] Cache miss, calling the API {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] 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":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.WARNING: [Hubspot] Received 429 from API {"team_id":2,"config_id":2,"retry_after":1,"reason":"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\":\"019e16c1-c (truncated...)
"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":1,"delay":4} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] 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":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614436} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614436,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] 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":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":1,"delay":3} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] 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":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614382} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614382,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] 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":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":1,"delay":1} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] 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":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614381} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614381,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] 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":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.WARNING: [Hubspot] Received 429 from API {"team_id":2,"config_id":2,"retry_after":1,"reason":"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\":\"019e16c1-c (truncated...)
"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":1,"delay":2} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [MatchActivityCrmData] Starting CRM data matching {"activity":614378,"remote_search":true,"set_configuration":2,"old_state":{"lead_id":null,"contact_id":6167,"account_id":null,"opportunity_id":null,"stage_id":null}} {"correlation_id":"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activit...
|
18471
|
NULL
|
NULL
|
NULL
|
|
18476
|
NULL
|
0
|
2026-05-11T11:24:00.967311+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778498640967_m2.jpg...
|
PhpStorm
|
faVsco.js – laravel.log
|
1
|
NULL
|
monitor_2
|
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
2
67
3
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Services\Crm\Hubspot;
use HubSpot\Client\Crm\Deals\ApiException as DealApiException;
use HubSpot\Client\Crm\Contacts\ApiException as ContactApiException;
use HubSpot\Client\Crm\Companies\ApiException as CompanyApiException;
use HubSpot\Client\Crm\Contacts\Model\SimplePublicObjectWithAssociations as ContactsWithAssociations;
use HubSpot\Client\Crm\Companies\Model\SimplePublicObjectWithAssociations as CompaniesWithAssociations;
use HubSpot\Client\Crm\Deals\Model\SimplePublicObjectWithAssociations as DealWithAssociations;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectInput;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectWithAssociations as ObjectWithAssociations;
use HubSpot\Client\Crm\Pipelines\Model\Error;
use HubSpot\Client\Crm\Pipelines\Model\PipelineStage;
use HubSpot\Client\Crm\Properties\Model\Property;
use HubSpot\Discovery\Discovery;
use Jiminny\Exceptions\CrmException;
use Jiminny\Exceptions\RateLimitException;
use Jiminny\Exceptions\SocialAccountTokenInvalidException;
use Jiminny\Jobs\Crm\NoteObject;
use Jiminny\Models\Crm\Field;
use Jiminny\Services\Crm\BaseClient;
use Jiminny\Services\Crm\Hubspot\DTO\Response\Owner;
use Jiminny\Services\SocialAccountService;
use SevenShores\Hubspot\Exceptions\BadRequest;
use SevenShores\Hubspot\Exceptions\HubspotException;
use SevenShores\Hubspot\Factory;
use SevenShores\Hubspot\Http\Response;
use Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService;
use Illuminate\Support\Facades\Redis;
use Throwable;
/**
* @phpstan-type 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)
{
$cacheKey = $this->getRateLimitCacheKey();
$cachedRetryAfter = Redis::get($cacheKey);
if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {
throw new RateLimitException(
'Hubspot rate limit (cached circuit-breaker)',
(int) $cachedRetryAfter,
);
}
try {
return $apiCall();
} catch (Throwable $e) {
if ($this->isHubspotRateLimit($e)) {
$retryAfter = $this->parseRetryAfter($e);
Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);
$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 getRateLimitCacheKey(): string
{
return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());
}
public function isHubspotRateLimit(Throwable $e): bool
{
if ($e instanceof BadRequest
|| $e instanceof DealApiException
|| $e instanceof ContactApiException
|| $e instanceof CompanyApiException
|| $e instanceof \GuzzleHttp\Exception\RequestException
) {
return (int) $e->getCode() === 429;
}
return false;
}
public 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;
}
}
$message = strtolower($e->getMessage());
if (str_contains($message, 'daily')) {
return 600;
}
if (str_contains($message, 'ten secondly')) {
return 10;
}
if (str_contains($message, 'secondly')) {
return 1;
}
$this->log->warning('[Hubspot] No retry-after header or known message, using default', [
'exception_class' => get_class($e),
'message' => $message,
]);
return 10;
}
public function parseMessage(Throwable $e): string
{
if (! method_exists($e, 'getResponseBody')) {
return '';
}
$body = $e->getResponseBody();
if (is_string($body)) {
$body = json_decode($body, true) ?? [];
}
if (! is_array($body)) {
return '';
}
return (string) ($body['message'] ?? '');
}
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
);
}
/**
* Execute a search request against HubSpot CRM objects with rate limiting.
*
* @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')
* @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.
* @return array The search response with 'results', 'total', 'paging' keys
* @throws RateLimitException When rate limit is hit
* @throws HubspotException On API errors
*/
public function search(string $objectType, array $payload): array
{
$endpoint = self::BASE_URL . "/crm/v3/objects/{$objectType}/search";
return $this->executeRequest(function () use ($endpoint, $payload) {
$response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);
return $response->toArray();
});
}
/**
* @throws DealApiException
* @throws CrmException
*/
public function getOpportunityById(string $crmId, array $fields): array
{
try {
$deal = $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') {
return $this->getInstance()->getClient()?->request(
method: $method,
endpoint: $endpoint,
query_string: $queryString
);
} else {
return $this->getInstance()->getClient()->request($method, $endpoint, [
'json' => ($payload),
]);
}
}
/**
* @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 (RateLimitException $e) {
// throw $e;
} 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);
}
}
Show Replace Field
Search History
429
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
23/38
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Sync Changes
Hide This Notification
Code changed:
Hide
[2026-05-11 11:17:21] local.NOTICE: Monitoring start {"correlation_id":"885fde59-3852-4120-a620-af3da7ecce17","trace_id":"4cc10f53-5d39-418d-8e98-fe53d9bbff5f"}
[2026-05-11 11:17:21] local.NOTICE: Monitoring end {"correlation_id":"885fde59-3852-4120-a620-af3da7ecce17","trace_id":"4cc10f53-5d39-418d-8e98-fe53d9bbff5f"}
[2026-05-11 11:17:34] 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":"a773fb28-5a0c-4b8f-a1b5-d57e6b81db90","trace_id":"fb6d8028-db7d-4ef2-b175-740f0a7b8b39"}
[2026-05-11 11:17:35] 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":"a773fb28-5a0c-4b8f-a1b5-d57e6b81db90","trace_id":"fb6d8028-db7d-4ef2-b175-740f0a7b8b39"}
[2026-05-11 11:17:37] 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":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":615092} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":615092,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] 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":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [Prospect match] Cache miss, calling the API {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] 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":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.WARNING: [Hubspot] Received 429 from API {"team_id":2,"config_id":2,"retry_after":1,"reason":"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\":\"019e16c1-c (truncated...)
"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":1,"delay":4} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] 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":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614436} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614436,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] 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":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":1,"delay":3} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] 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":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614382} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614382,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] 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":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":1,"delay":1} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] 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":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614381} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614381,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] 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":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.WARNING: [Hubspot] Received 429 from API {"team_id":2,"config_id":2,"retry_after":1,"reason":"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\":\"019e16c1-c (truncated...)
"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":1,"delay":2} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [MatchActivityCrmData] Starting CRM data matching {"activity":614378,"remote_search":true,"set_configuration":2,"old_state":{"lead_id":null,"contact_id":6167,"account_id":null,"opportunity_id":null,"stage_id":null}} {"correlation_id":"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activit...
|
[{"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":"JY-20725-handle-HS-search-rate-limit, menu","depth":5,"bounds":{"left":0.064494684,"top":0.019952115,"width":0.09541223,"height":0.025538707},"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,"bounds":{"left":0.82413566,"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":"HandleHubspotRateLimitTest","depth":6,"bounds":{"left":0.8394282,"top":0.019952115,"width":0.076130316,"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 'HandleHubspotRateLimitTest'","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 'HandleHubspotRateLimitTest'","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":"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.37965426,"top":0.19952115,"width":0.007978723,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"67","depth":4,"bounds":{"left":0.38962767,"top":0.19952115,"width":0.009973404,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":4,"bounds":{"left":0.40159574,"top":0.19952115,"width":0.007978723,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.4112367,"top":0.19792499,"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.41855052,"top":0.19792499,"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":"<?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\\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 Illuminate\\Support\\Facades\\Redis;\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\n public function __construct(\n SocialAccountService $socialAccountService,\n HubspotPaginationService $paginationService,\n HubspotTokenManager $tokenManager\n ) {\n parent::__construct($socialAccountService);\n $this->paginationService = $paginationService;\n $this->tokenManager = $tokenManager;\n\n $this->setBaseUrl(self::BASE_URL);\n $this->setVersion(self::MIN_API_VERSION);\n }\n\n /**\n * Reacts to a rate limits (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 $cacheKey = $this->getRateLimitCacheKey();\n\n $cachedRetryAfter = Redis::get($cacheKey);\n if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {\n throw new RateLimitException(\n 'Hubspot rate limit (cached circuit-breaker)',\n (int) $cachedRetryAfter,\n );\n }\n\n try {\n return $apiCall();\n } catch (Throwable $e) {\n if ($this->isHubspotRateLimit($e)) {\n $retryAfter = $this->parseRetryAfter($e);\n\n Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);\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 getRateLimitCacheKey(): string\n {\n return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());\n }\n\n public function isHubspotRateLimit(Throwable $e): bool\n {\n if ($e instanceof BadRequest\n || $e instanceof DealApiException\n || $e instanceof ContactApiException\n || $e instanceof CompanyApiException\n || $e instanceof \\GuzzleHttp\\Exception\\RequestException\n ) {\n return (int) $e->getCode() === 429;\n }\n\n return false;\n }\n\n public 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 $message = strtolower($e->getMessage());\n\n if (str_contains($message, 'daily')) {\n return 600;\n }\n if (str_contains($message, 'ten secondly')) {\n return 10;\n }\n if (str_contains($message, 'secondly')) {\n return 1;\n }\n\n $this->log->warning('[Hubspot] No retry-after header or known message, using default', [\n 'exception_class' => get_class($e),\n 'message' => $message,\n ]);\n\n return 10;\n }\n\n public function parseMessage(Throwable $e): string\n {\n if (! method_exists($e, 'getResponseBody')) {\n return '';\n }\n\n $body = $e->getResponseBody();\n if (is_string($body)) {\n $body = json_decode($body, true) ?? [];\n }\n\n if (! is_array($body)) {\n return '';\n }\n\n return (string) ($body['message'] ?? '');\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 * Execute a search request against HubSpot CRM objects with rate limiting.\n *\n * @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')\n * @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.\n * @return array The search response with 'results', 'total', 'paging' keys\n * @throws RateLimitException When rate limit is hit\n * @throws HubspotException On API errors\n */\n public function search(string $objectType, array $payload): array\n {\n $endpoint = self::BASE_URL . \"/crm/v3/objects/{$objectType}/search\";\n\n return $this->executeRequest(function () use ($endpoint, $payload) {\n $response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);\n\n return $response->toArray();\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->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 return $this->getInstance()->getClient()?->request(\n method: $method,\n endpoint: $endpoint,\n query_string: $queryString\n );\n } else {\n return $this->getInstance()->getClient()->request($method, $endpoint, [\n 'json' => ($payload),\n ]);\n }\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 (RateLimitException $e) {\n// throw $e;\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\\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 Illuminate\\Support\\Facades\\Redis;\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\n public function __construct(\n SocialAccountService $socialAccountService,\n HubspotPaginationService $paginationService,\n HubspotTokenManager $tokenManager\n ) {\n parent::__construct($socialAccountService);\n $this->paginationService = $paginationService;\n $this->tokenManager = $tokenManager;\n\n $this->setBaseUrl(self::BASE_URL);\n $this->setVersion(self::MIN_API_VERSION);\n }\n\n /**\n * Reacts to a rate limits (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 $cacheKey = $this->getRateLimitCacheKey();\n\n $cachedRetryAfter = Redis::get($cacheKey);\n if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {\n throw new RateLimitException(\n 'Hubspot rate limit (cached circuit-breaker)',\n (int) $cachedRetryAfter,\n );\n }\n\n try {\n return $apiCall();\n } catch (Throwable $e) {\n if ($this->isHubspotRateLimit($e)) {\n $retryAfter = $this->parseRetryAfter($e);\n\n Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);\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 getRateLimitCacheKey(): string\n {\n return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());\n }\n\n public function isHubspotRateLimit(Throwable $e): bool\n {\n if ($e instanceof BadRequest\n || $e instanceof DealApiException\n || $e instanceof ContactApiException\n || $e instanceof CompanyApiException\n || $e instanceof \\GuzzleHttp\\Exception\\RequestException\n ) {\n return (int) $e->getCode() === 429;\n }\n\n return false;\n }\n\n public 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 $message = strtolower($e->getMessage());\n\n if (str_contains($message, 'daily')) {\n return 600;\n }\n if (str_contains($message, 'ten secondly')) {\n return 10;\n }\n if (str_contains($message, 'secondly')) {\n return 1;\n }\n\n $this->log->warning('[Hubspot] No retry-after header or known message, using default', [\n 'exception_class' => get_class($e),\n 'message' => $message,\n ]);\n\n return 10;\n }\n\n public function parseMessage(Throwable $e): string\n {\n if (! method_exists($e, 'getResponseBody')) {\n return '';\n }\n\n $body = $e->getResponseBody();\n if (is_string($body)) {\n $body = json_decode($body, true) ?? [];\n }\n\n if (! is_array($body)) {\n return '';\n }\n\n return (string) ($body['message'] ?? '');\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 * Execute a search request against HubSpot CRM objects with rate limiting.\n *\n * @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')\n * @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.\n * @return array The search response with 'results', 'total', 'paging' keys\n * @throws RateLimitException When rate limit is hit\n * @throws HubspotException On API errors\n */\n public function search(string $objectType, array $payload): array\n {\n $endpoint = self::BASE_URL . \"/crm/v3/objects/{$objectType}/search\";\n\n return $this->executeRequest(function () use ($endpoint, $payload) {\n $response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);\n\n return $response->toArray();\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->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 return $this->getInstance()->getClient()?->request(\n method: $method,\n endpoint: $endpoint,\n query_string: $queryString\n );\n } else {\n return $this->getInstance()->getClient()->request($method, $endpoint, [\n 'json' => ($payload),\n ]);\n }\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 (RateLimitException $e) {\n// throw $e;\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":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Show Replace Field","depth":4,"bounds":{"left":0.42985374,"top":0.105347164,"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":"AXCheckBox","text":"Search History","depth":3,"bounds":{"left":0.4424867,"top":0.10454908,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"429","depth":4,"bounds":{"left":0.45345744,"top":0.10454908,"width":0.043882977,"height":0.015961692},"on_screen":true,"value":"429","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"New Line","depth":3,"bounds":{"left":0.5063165,"top":0.10454908,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Match Case","depth":3,"bounds":{"left":0.5162899,"top":0.10454908,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Words","depth":3,"bounds":{"left":0.5249335,"top":0.10454908,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Regex","depth":3,"bounds":{"left":0.53357714,"top":0.10454908,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Replace History","depth":3,"bounds":{"left":0.27027926,"top":1.0,"width":0.00731383,"height":0.0},"on_screen":false,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextField","text":"Replace","depth":4,"on_screen":false,"role_description":"text field","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"New Line","depth":3,"bounds":{"left":0.27027926,"top":1.0,"width":0.00731383,"height":0.0},"on_screen":false,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Preserve case","depth":3,"bounds":{"left":0.27027926,"top":1.0,"width":0.00731383,"height":0.0},"on_screen":false,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"23/38","depth":4,"bounds":{"left":0.5472075,"top":0.103751,"width":0.025598405,"height":0.017557861},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Occurrence","depth":4,"bounds":{"left":0.5728058,"top":0.10295291,"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":"Next Occurrence","depth":4,"bounds":{"left":0.58144945,"top":0.10295291,"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":"Filter Search Results","depth":4,"bounds":{"left":0.5900931,"top":0.10295291,"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 in Window, Multiple Cursors","depth":4,"bounds":{"left":0.5987367,"top":0.10295291,"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":"AXLink","text":"Click to highlight","depth":4,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":4,"bounds":{"left":0.7250665,"top":0.10295291,"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":"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":"AXTextArea","text":"[2026-05-11 11:17:21] local.NOTICE: Monitoring start {\"correlation_id\":\"885fde59-3852-4120-a620-af3da7ecce17\",\"trace_id\":\"4cc10f53-5d39-418d-8e98-fe53d9bbff5f\"}\n[2026-05-11 11:17:21] local.NOTICE: Monitoring end {\"correlation_id\":\"885fde59-3852-4120-a620-af3da7ecce17\",\"trace_id\":\"4cc10f53-5d39-418d-8e98-fe53d9bbff5f\"}\n[2026-05-11 11:17:34] 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\":\"a773fb28-5a0c-4b8f-a1b5-d57e6b81db90\",\"trace_id\":\"fb6d8028-db7d-4ef2-b175-740f0a7b8b39\"}\n[2026-05-11 11:17:35] 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\":\"a773fb28-5a0c-4b8f-a1b5-d57e6b81db90\",\"trace_id\":\"fb6d8028-db7d-4ef2-b175-740f0a7b8b39\"}\n[2026-05-11 11:17:37] 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\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] 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\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] 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\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] 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\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":1,\"reason\":\"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\\\":\\\"019e16c1-c (truncated...)\n\"} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":4} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] 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\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] 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\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":3} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] 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\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] 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\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":1} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] 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\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] 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\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":1,\"reason\":\"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\\\":\\\"019e16c1-c (truncated...)\n\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":2} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":614378,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":6167,\"account_id\":null,\"opportunity_id\":null,\"stage_id\":null}} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] 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\":6167,\"lead_id\":null},{\"id\":1002625,\"user_id\":89,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":3} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613840,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613840} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613840,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":261} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":299} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613840,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613840} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613840,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613833,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613833} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613833,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":1.0,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613833,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613833} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613833,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613827,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613827} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613827,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613827,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613827} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613827,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613826,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613826} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613826,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613826,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613826} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613826,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613820,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613820} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613820,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613820,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613820} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613820,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613818,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613818} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613818,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613818,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613818} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613818,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613812,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613812} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613812,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613812,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613812} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613812,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613807,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4484,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613807} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613807,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":4484,\"lead_id\":null}]} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":243,\"contact_id\":4484,\"owner_id\":253} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":243,\"contact_id\":4484} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":243,\"contact_id\":4484,\"opportunity_id\":276} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"tsvetomir.banovski@gmail.com\"} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613807,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613807} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613807,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613806,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613806} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613806,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":253} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":244,\"contact_id\":4487} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":350} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613806,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613806} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613806,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613805,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613805} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613805,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613805,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613805} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613805,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613698,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613698} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613698,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613698,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613698} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613698,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613697,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613697} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613697,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613697,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613697} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613697,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613696,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613696} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613696,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613696,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613696} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613696,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613695,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613695} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613695,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613695,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613695} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613695,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613694,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613694} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613694,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613694,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613694} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613694,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613157,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613157} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613157,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613157,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613157} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613157,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613156,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613156} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613156,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613156,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613156} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613156,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:process\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"859a4ec6-5c81-4283-bb96-c3ebaf5ff599\",\"trace_id\":\"f8a2783e-c54a-4d43-8cf6-61594479b0e7\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613155,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613155} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613155,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EmailSchedule] STARTING batch process {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"859a4ec6-5c81-4283-bb96-c3ebaf5ff599\",\"trace_id\":\"f8a2783e-c54a-4d43-8cf6-61594479b0e7\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613155,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613155} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613155,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EmailSchedule] FINISHED batch process {\"host\":\"docker_lamp_1\",\"processed\":0} {\"correlation_id\":\"859a4ec6-5c81-4283-bb96-c3ebaf5ff599\",\"trace_id\":\"f8a2783e-c54a-4d43-8cf6-61594479b0e7\"}\n[2026-05-11 11:17:42] 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\":\"859a4ec6-5c81-4283-bb96-c3ebaf5ff599\",\"trace_id\":\"f8a2783e-c54a-4d43-8cf6-61594479b0e7\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613130,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613130} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613130,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613130,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613130} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613130,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":165,\"stage_id\":89}} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612924} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612924,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":69,\"contact_id\":97,\"owner_id\":19} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":69,\"contact_id\":97,\"opportunity_id\":165} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612924,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612924} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612924,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":165,\"stage_id\":89}} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612923} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612923,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612923,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612923} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612923,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":165,\"stage_id\":89}} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612922} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612922,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612922,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612922} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612922,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612847,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612847,\"participants\":[{\"id\":1000130,\"user_id\":null,\"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\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] 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\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] 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\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":1,\"reason\":\"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\\\":\\\"019e16c1-d (truncated...)\n\"} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":5} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612822,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612822} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612822,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] 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\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] 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\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612822,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612822} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612822,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] 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\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612819,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] 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\":null,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] 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\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:47] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":1,\"reason\":\"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\\\":\\\"019e16c1-e (truncated...)\n\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:47] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":4} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612673,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612673} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612673,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] 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\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] 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\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612673,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612673} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612673,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] 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\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612642,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612642} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612642,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] 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\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] 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\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612642,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612642} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612642,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] 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\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612598} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612598,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] 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\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":243,\"contact_id\":4491,\"owner_id\":206} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":243,\"contact_id\":4491} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":243,\"contact_id\":4491,\"opportunity_id\":276} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] 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\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612598,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612598} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612598,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] 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\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612597} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612597,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] 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\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] 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\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:54] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612597,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612597} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612597,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:54] 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\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17: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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612596} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612596,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17: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\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17: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\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17: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\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612596} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612596,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17: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\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612595} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612595,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] 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\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] 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\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612595,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612595} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612595,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] 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\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612594} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612594,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] 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\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] 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\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612594,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612594} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612594,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] 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\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612593} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612593,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612593,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612593} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612593,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612592} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612592,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] 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\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612592,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612592} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612592,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] 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\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612591} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612591,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] 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\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612591,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612591} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612591,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612590} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612590,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612590,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612590} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612590,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612589} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612589,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612589,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612589} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612589,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612588} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612588,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612588,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612588} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612588,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":16.99,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:02] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612587} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612587,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612587,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612587} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612587,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612586} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612586,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612586,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612586} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612586,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612585} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612585,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] 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\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] 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\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612585,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612585} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612585,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] 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\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612584} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612584,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:05] 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\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] 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\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612584,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612584} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612584,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] 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\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612583} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612583,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] 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\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] 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\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612583,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612583} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612583,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:08] 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\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612582} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612582,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] 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\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] 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\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612582,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612582} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612582,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:10] 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\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612581} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612581,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] 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\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":4.14,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:11] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:12] 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\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:12] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612581,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:12] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612581} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:12] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612581,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:12] 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\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612565} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612565,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] 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\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:create\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"feff8215-75fe-40b2-916e-951435e048aa\",\"trace_id\":\"46d069ed-7c2b-4fdc-9679-9ec571a88271\"}\n[2026-05-11 11:18:15] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] 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\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612565,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612565} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612565,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:16] 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\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:16] local.INFO: [EmailSchedule] STARTING batch create {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"feff8215-75fe-40b2-916e-951435e048aa\",\"trace_id\":\"46d069ed-7c2b-4fdc-9679-9ec571a88271\"}\n[2026-05-11 11:18:16] 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\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:16] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612563} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:16] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612563,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:16] 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\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] 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\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":206} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":244,\"contact_id\":4487} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":350} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: [EmailSchedule] FINISHED batch create {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"feff8215-75fe-40b2-916e-951435e048aa\",\"trace_id\":\"46d069ed-7c2b-4fdc-9679-9ec571a88271\"}\n[2026-05-11 11:18:18] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"mailbox:batch:create\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"feff8215-75fe-40b2-916e-951435e048aa\",\"trace_id\":\"46d069ed-7c2b-4fdc-9679-9ec571a88271\"}\n[2026-05-11 11:18:18] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:19] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612563,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:19] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612563} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:19] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612563,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:19] 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\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:19] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":3.06,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:19] local.INFO: [Jiminny\\Jobs\\Mailbox\\CreateBatches] processed 2 inboxes and created 0 batches {\"userId\":null,\"batchSize\":30,\"maxBatches\":1000} {\"correlation_id\":\"5a640073-717d-40da-ad67-be02e37c56a2\",\"trace_id\":\"46d069ed-7c2b-4fdc-9679-9ec571a88271\"}\n[2026-05-11 11:18:20] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612562} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612562,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:21] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:21] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:21] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:22] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"447782589921@txt.staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:22] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:22] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:22] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:22] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:22] 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.32,\"average_seconds_per_request\":0.32} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612562,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612562} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612562,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612561} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612561,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] 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\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] 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\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\"} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612561,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612561} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612561,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612560} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612560,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"447782589921@txt.staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612560,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612560} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612560,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":1.89,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:26] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612559} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612559,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] 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\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] 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\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":69,\"contact_id\":97,\"owner_id\":206} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":69,\"contact_id\":97} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":69,\"contact_id\":97,\"opportunity_id\":5011} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612559,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612559} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612559,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] 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\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612558} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612558,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612558,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612558} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612558,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612557} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612557,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612557,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612557} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612557,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612556} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612556,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612556,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612556} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612556,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612555} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612555,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612555,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612555} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612555,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612554} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612554,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612554,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612554} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612554,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612553} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612553,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] 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\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612553,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612553} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612553,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] 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\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612552} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612552,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612552,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612552} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612552,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612551} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612551,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612551,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612551} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612551,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612550} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612550,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612550,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612550} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612550,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612549} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612549,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612549,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612549} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612549,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612365,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612365} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612365,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":243,\"contact_id\":4491,\"owner_id\":206} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":243,\"contact_id\":4491} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":243,\"contact_id\":4491,\"opportunity_id\":276} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612365,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612365} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612365,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612360,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612360} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612360,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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.29,\"average_seconds_per_request\":0.29} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612360,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612360} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612360,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612340,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612340} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612340,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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.34,\"average_seconds_per_request\":0.34} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612340,\"participants_processed\":4,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612340} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612340,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.75,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:32] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612339,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612339} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612339,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612339,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612339} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612339,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612336,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612336} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612336,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612336,\"participants_processed\":4,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612336} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612336,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612183,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612183} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612183,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":261} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":299} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612183,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612183} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612183,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612182,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612182} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612182,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612182,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612182} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612182,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612181,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612181} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612181,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612181,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612181} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612181,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612180,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612180} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612180,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612180,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612180} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612180,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611455} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611455,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:35] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:35] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:35] 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.27,\"average_seconds_per_request\":0.27} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611455,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611455} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611455,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611451} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] 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\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] 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\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] 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\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:37] 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.25,\"average_seconds_per_request\":0.25} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:37] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:37] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:37] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:37] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:37] 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\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:38] 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.44,\"average_seconds_per_request\":0.44} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] 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\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":3.16,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611451,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611451} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] 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\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611087} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611087,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] 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\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] 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\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611087,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611087} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611087,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] 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\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611076} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611076,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] 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\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] 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\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611076,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611076} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611076,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] 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\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610935} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610935,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610935,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610935} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610935,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610915} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610915,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610915,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610915} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610915,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610900} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610900,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610900,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610900} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610900,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610885} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610885,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610885,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610885} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610885,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610878} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610878,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610878,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610878} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610878,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610874} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610874,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610874,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610874} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610874,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610867} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610867,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610867,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610867} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610867,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610764} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610764,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610764,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610764} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610764,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610617} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610617,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610617,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610617} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610617,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610539} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610539,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610539,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610539} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610539,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.4,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:46] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610528} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610528,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610528,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610528} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610528,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610506} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610506,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610506,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610506} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610506,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610497} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610497,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610497,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610497} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610497,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610490} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610490,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610490,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610490} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610490,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610470} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610470,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610470,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610470} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610470,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610462} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610462,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610462,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610462} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610462,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610451} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610451,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610451} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610438} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610438,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610438,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610438} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610438,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610426} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610426,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610426,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610426} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610426,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610403} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610403,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610403,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610403} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610403,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610400} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610400,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":1460} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":244,\"contact_id\":4487} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":350} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610400,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610400} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610400,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] 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}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18: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\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18: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.51,\"average_seconds_per_request\":0.51} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:49] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:49] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:49] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:49] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18: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}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:49] 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.35,\"average_seconds_per_request\":0.35} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:50] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":614382,\"team_id\":2,\"email\":\"nikolay.nikolov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:50] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614382,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:50] 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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:50] 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}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] 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}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":614381,\"team_id\":2,\"email\":\"nikolay.nikolov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614381,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] 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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] 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}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] 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}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18: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\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":615092,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18: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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18: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}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18: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}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18: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\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614436,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18: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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":614378,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":6167,\"account_id\":null,\"opportunity_id\":null,\"stage_id\":null}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:50] 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\":6167,\"lead_id\":null},{\"id\":1002625,\"user_id\":89,\"contact_id\":null,\"lead_id\":null}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nmalchev@gmail.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18: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\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614378,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18: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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612847,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612847,\"participants\":[{\"id\":1000130,\"user_id\":null,\"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}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.84,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:51] 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\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:52] 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.28,\"average_seconds_per_request\":0.28} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:52] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"adelina.petrova@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:52] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:52] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:52] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:52] 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}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:53] 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.43,\"average_seconds_per_request\":0.43} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:53] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612847,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:53] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:53] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612847,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18: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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:54] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612819,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18: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\":null,\"contact_id\":null,\"lead_id\":null}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18: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\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"adelina.petrova@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612819,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18: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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:57] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.25,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:19:07] 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\":\"70d16739-7654-4185-99cb-49559aafc660\",\"trace_id\":\"d100f21a-5975-471a-b245-90b25b177c8f\"}\n[2026-05-11 11:19:07] local.INFO: [ScheduleBotCommand] Number of activities to be captured: 0 {\"correlation_id\":\"70d16739-7654-4185-99cb-49559aafc660\",\"trace_id\":\"d100f21a-5975-471a-b245-90b25b177c8f\"}\n[2026-05-11 11:19:07] 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\":\"70d16739-7654-4185-99cb-49559aafc660\",\"trace_id\":\"d100f21a-5975-471a-b245-90b25b177c8f\"}\n[2026-05-11 11:19:12] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"dialers:monitor-activities\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"91df8068-6c15-4614-947e-90f48574662c\",\"trace_id\":\"a9a86198-7521-4c0c-a89e-d23b34f2f8bf\"}\n[2026-05-11 11:19:12] 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\":\"91df8068-6c15-4614-947e-90f48574662c\",\"trace_id\":\"a9a86198-7521-4c0c-a89e-d23b34f2f8bf\"}\n[2026-05-11 11:19:15] local.NOTICE: Monitoring start {\"correlation_id\":\"6fae005c-3fcd-4718-86b0-f08f140f889c\",\"trace_id\":\"233ad400-a3ad-4093-8660-9e477cd6ca8f\"}\n[2026-05-11 11:19:15] local.NOTICE: Monitoring end {\"correlation_id\":\"6fae005c-3fcd-4718-86b0-f08f140f889c\",\"trace_id\":\"233ad400-a3ad-4093-8660-9e477cd6ca8f\"}\n[2026-05-11 11:19:18] 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\":\"08b79017-e665-425f-8048-21f93b1abf3b\",\"trace_id\":\"bb7a7ea5-30d3-4a13-9c3c-84bc1f9c26e7\"}\n[2026-05-11 11:19:18] 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\":\"08b79017-e665-425f-8048-21f93b1abf3b\",\"trace_id\":\"bb7a7ea5-30d3-4a13-9c3c-84bc1f9c26e7\"}\n[2026-05-11 11:19:21] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:process\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"0c31163b-b05f-4d3f-9a66-a2ce01d94010\",\"trace_id\":\"3dfb6352-28a3-4c77-b6ff-a11e0a7821a0\"}\n[2026-05-11 11:19:21] local.INFO: [EmailSchedule] STARTING batch process {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"0c31163b-b05f-4d3f-9a66-a2ce01d94010\",\"trace_id\":\"3dfb6352-28a3-4c77-b6ff-a11e0a7821a0\"}\n[2026-05-11 11:19:22] local.INFO: [EmailSchedule] FINISHED batch process {\"host\":\"docker_lamp_1\",\"processed\":0} {\"correlation_id\":\"0c31163b-b05f-4d3f-9a66-a2ce01d94010\",\"trace_id\":\"3dfb6352-28a3-4c77-b6ff-a11e0a7821a0\"}\n[2026-05-11 11:19:22] 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\":\"0c31163b-b05f-4d3f-9a66-a2ce01d94010\",\"trace_id\":\"3dfb6352-28a3-4c77-b6ff-a11e0a7821a0\"}\n[2026-05-11 11:20:08] 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\":\"cb3a4a64-b00b-4f94-9e00-c190cd7a7a42\",\"trace_id\":\"acd43b75-f255-471f-9563-f03de03c7e23\"}\n[2026-05-11 11:20:08] local.INFO: [ScheduleBotCommand] Number of activities to be captured: 0 {\"correlation_id\":\"cb3a4a64-b00b-4f94-9e00-c190cd7a7a42\",\"trace_id\":\"acd43b75-f255-471f-9563-f03de03c7e23\"}\n[2026-05-11 11:20:08] 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\":\"cb3a4a64-b00b-4f94-9e00-c190cd7a7a42\",\"trace_id\":\"acd43b75-f255-471f-9563-f03de03c7e23\"}\n[2026-05-11 11:20:10] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"dialers:monitor-activities\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"8ab6728e-9079-4166-bf97-fed4fb2ac7de\",\"trace_id\":\"508ecd6c-81db-47d4-8fad-d40b1e55cff3\"}\n[2026-05-11 11:20:10] 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\":\"8ab6728e-9079-4166-bf97-fed4fb2ac7de\",\"trace_id\":\"508ecd6c-81db-47d4-8fad-d40b1e55cff3\"}\n[2026-05-11 11:20:13] local.NOTICE: Monitoring start {\"correlation_id\":\"98b2a767-ff2a-4f82-866f-bf7dad58fe13\",\"trace_id\":\"ecb25ade-8dda-4d47-8bce-6b84e3c8fd0c\"}\n[2026-05-11 11:20:13] local.NOTICE: Monitoring end {\"correlation_id\":\"98b2a767-ff2a-4f82-866f-bf7dad58fe13\",\"trace_id\":\"ecb25ade-8dda-4d47-8bce-6b84e3c8fd0c\"}\n[2026-05-11 11:20:15] 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\":\"05f19e62-48e4-4c36-9577-648a2dd54abd\",\"trace_id\":\"e3d3acd1-5c23-4f37-9566-32a0cbd7a4eb\"}\n[2026-05-11 11:20:16] 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\":\"05f19e62-48e4-4c36-9577-648a2dd54abd\",\"trace_id\":\"e3d3acd1-5c23-4f37-9566-32a0cbd7a4eb\"}\n[2026-05-11 11:20:18] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:process\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"d5c19bc5-1a17-4b6d-9f62-a6715a8005c9\",\"trace_id\":\"451385cf-1bcd-4e06-8412-e5d197f5f567\"}\n[2026-05-11 11:20:18] local.INFO: [EmailSchedule] STARTING batch process {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"d5c19bc5-1a17-4b6d-9f62-a6715a8005c9\",\"trace_id\":\"451385cf-1bcd-4e06-8412-e5d197f5f567\"}\n[2026-05-11 11:20:18] local.INFO: [EmailSchedule] FINISHED batch process {\"host\":\"docker_lamp_1\",\"processed\":0} {\"correlation_id\":\"d5c19bc5-1a17-4b6d-9f62-a6715a8005c9\",\"trace_id\":\"451385cf-1bcd-4e06-8412-e5d197f5f567\"}\n[2026-05-11 11:20:18] 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\":\"d5c19bc5-1a17-4b6d-9f62-a6715a8005c9\",\"trace_id\":\"451385cf-1bcd-4e06-8412-e5d197f5f567\"}\n[2026-05-11 11:20:23] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:monitor:count\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"a01c4c40-1c1e-4865-be1f-0aa63b4fd1b9\",\"trace_id\":\"cba182ec-cbe6-4d53-b1c6-253546138cc8\"}\n[2026-05-11 11:20:23] local.INFO: Running conference:monitor:count command for activities in (2026-05-11 11:18:00, 2026-05-11 11:20:00] {\"correlation_id\":\"a01c4c40-1c1e-4865-be1f-0aa63b4fd1b9\",\"trace_id\":\"cba182ec-cbe6-4d53-b1c6-253546138cc8\"}\n[2026-05-11 11:20:23] local.INFO: [conference:monitor:count] No activities found in (2026-05-11 11:18:00, 2026-05-11 11:20:00] {\"correlation_id\":\"a01c4c40-1c1e-4865-be1f-0aa63b4fd1b9\",\"trace_id\":\"cba182ec-cbe6-4d53-b1c6-253546138cc8\"}\n[2026-05-11 11:20:23] 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\":\"a01c4c40-1c1e-4865-be1f-0aa63b4fd1b9\",\"trace_id\":\"cba182ec-cbe6-4d53-b1c6-253546138cc8\"}\n[2026-05-11 11:20:25] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"activity:purge-stale\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"b599f338-6a44-44d5-9f81-6fa300c4ea1b\",\"trace_id\":\"c7645418-4758-4410-83f2-8fe71ebf2ec2\"}\n[2026-05-11 11:20:25] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"activity:purge-stale\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"b599f338-6a44-44d5-9f81-6fa300c4ea1b\",\"trace_id\":\"c7645418-4758-4410-83f2-8fe71ebf2ec2\"}\n[2026-05-11 11:20:28] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:text-relay:sync\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"3c9d7674-d005-4372-8a60-2e8ecb587584\",\"trace_id\":\"22a0bdee-d653-4113-963c-043a68a4a8be\"}\n[2026-05-11 11:20:29] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"mailbox:text-relay:sync\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"3c9d7674-d005-4372-8a60-2e8ecb587584\",\"trace_id\":\"22a0bdee-d653-4113-963c-043a68a4a8be\"}\n[2026-05-11 11:20:31] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:pre-meeting-notification\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"1453203b-bac8-47ba-ac62-6369ac533fc2\",\"trace_id\":\"f176800e-9da8-4580-a332-56fa3402dbb7\"}\n[2026-05-11 11:20:31] local.INFO: Running pre-meeting notification command {\"correlation_id\":\"1453203b-bac8-47ba-ac62-6369ac533fc2\",\"trace_id\":\"f176800e-9da8-4580-a332-56fa3402dbb7\"}\n[2026-05-11 11:20:31] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"conference:pre-meeting-notification\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"1453203b-bac8-47ba-ac62-6369ac533fc2\",\"trace_id\":\"f176800e-9da8-4580-a332-56fa3402dbb7\"}\n[2026-05-11 11:20:33] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:monitor:start\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"2310f110-1f7e-4a28-b0c3-e5f8fc72688f\",\"trace_id\":\"9d6e8217-2f4e-4b23-8f36-8538f57064d9\"}\n[2026-05-11 11:20:33] local.INFO: Running conference:monitor:start command for activities in (2026-05-11 11:10:00, 2026-05-11 11:15:00] {\"correlation_id\":\"2310f110-1f7e-4a28-b0c3-e5f8fc72688f\",\"trace_id\":\"9d6e8217-2f4e-4b23-8f36-8538f57064d9\"}\n[2026-05-11 11:20:33] local.INFO: [conference:monitor:start] No activities found in (2026-05-11 11:10:00, 2026-05-11 11:15:00] {\"correlation_id\":\"2310f110-1f7e-4a28-b0c3-e5f8fc72688f\",\"trace_id\":\"9d6e8217-2f4e-4b23-8f36-8538f57064d9\"}\n[2026-05-11 11:20:33] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"conference:monitor:start\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"2310f110-1f7e-4a28-b0c3-e5f8fc72688f\",\"trace_id\":\"9d6e8217-2f4e-4b23-8f36-8538f57064d9\"}\n[2026-05-11 11:20:37] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:monitor:end\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"48a2dc23-76e1-4b34-b8a7-a7a957c71373\",\"trace_id\":\"b1788ca3-54cf-4031-b198-102838446996\"}\n[2026-05-11 11:20:37] local.INFO: conference:monitor:end:Jiminny\\Console\\Commands\\Activities\\MonitorMeetingEndCommand::logActivitiesEnded {\"from\":\"11:15\",\"to\":\"11:20\"} {\"correlation_id\":\"48a2dc23-76e1-4b34-b8a7-a7a957c71373\",\"trace_id\":\"b1788ca3-54cf-4031-b198-102838446996\"}\n[2026-05-11 11:20:38] local.INFO: conference:monitor:end:Jiminny\\Console\\Commands\\Activities\\MonitorMeetingEndCommand::logActivitiesWithUnfinishedSession {\"from\":\"01:10\",\"to\":\"01:15\"} {\"correlation_id\":\"48a2dc23-76e1-4b34-b8a7-a7a957c71373\",\"trace_id\":\"b1788ca3-54cf-4031-b198-102838446996\"}\n[2026-05-11 11:20:38] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"conference:monitor:end\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"48a2dc23-76e1-4b34-b8a7-a7a957c71373\",\"trace_id\":\"b1788ca3-54cf-4031-b198-102838446996\"}\n[2026-05-11 11:20:41] local.NOTICE: Repairing HubSpot tokens start {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: Trying to refresh HubSpot token {\"account_id\":59,\"updated_at\":\"2025-10-03 09:32:05\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: [SocialAccountService] Refreshing token from provider {\"socialAccountId\":59,\"provider\":\"hubspot\",\"refreshToken\":\"97b78f6e2cc49965c00c2492b602b02708b1392551e6b3f113fbaa48992af90b\",\"state\":\"full-refresh\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.ERROR: Failed to refresh HubSpot token {\"account_id\":59,\"updated_at\":\"2025-10-03 09:32:05\",\"reason\":\"missing or invalid refresh token\",\"previous\":\"\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: Trying to refresh HubSpot token {\"account_id\":306,\"updated_at\":\"2023-11-27 09:30:03\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: [SocialAccountService] Refreshing token from provider {\"socialAccountId\":306,\"provider\":\"hubspot\",\"refreshToken\":\"6fa6aa8cc641d131231acc3470f5c03cb3b07b2e580fb18f8acb3b1dbb72549b\",\"state\":\"full-refresh\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.ERROR: Failed to refresh HubSpot token {\"account_id\":306,\"updated_at\":\"2023-11-27 09:30:03\",\"reason\":\"missing or invalid refresh token\",\"previous\":\"\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: Trying to refresh HubSpot token {\"account_id\":1372,\"updated_at\":\"2025-10-02 14:47:06\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: [SocialAccountService] Refreshing token from provider {\"socialAccountId\":1372,\"provider\":\"hubspot\",\"refreshToken\":\"9aa73948c761da29dce46c177cf9aee1fde483a44169ca38723f9f0597d7a8c4\",\"state\":\"full-refresh\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:43] local.ERROR: Failed to refresh HubSpot token {\"account_id\":1372,\"updated_at\":\"2025-10-02 14:47:06\",\"reason\":\"missing or invalid refresh token\",\"previous\":\"\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:43] local.NOTICE: Repairing HubSpot tokens end {\"total\":3,\"fixed\":0,\"failed\":3} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:48] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"jiminny:transcription:retry-failed\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"28cf48be-a629-420c-a0a4-0d20fbd05838\",\"trace_id\":\"4fdaba19-5d8e-45db-a600-da048c8066fb\"}\n[2026-05-11 11:20:48] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:pre-meeting-reminder\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"6a6c06af-94cf-46bf-976e-55e401b3a588\",\"trace_id\":\"338c3b84-fc5a-404b-bed6-97341331ae68\"}\n[2026-05-11 11:20:48] local.INFO: [HubSpot Journal Command] Starting polling service {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:48] local.INFO: [HubSpot Journal Polling] Service starting {\"memory_limit\":\"256M\",\"max_execution_time\":\"0\",\"initial_memory_mb\":60.0} {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:48] local.INFO: [HubSpot Journal Polling] Acquired polling lock {\"expires_at\":\"2026-05-11T11:22:48.807561Z\"} {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:48] local.INFO: [HubSpot Journal Auth] Requesting new client credentials token {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:48] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"jiminny:transcription:retry-failed\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"28cf48be-a629-420c-a0a4-0d20fbd05838\",\"trace_id\":\"4fdaba19-5d8e-45db-a600-da048c8066fb\"}\n[2026-05-11 11:20:49] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"conference:pre-meeting-reminder\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"6a6c06af-94cf-46bf-976e-55e401b3a588\",\"trace_id\":\"338c3b84-fc5a-404b-bed6-97341331ae68\"}\n[2026-05-11 11:20:49] local.INFO: [HubSpot Journal Auth] Successfully obtained new access token {\"expires_in\":1800,\"cached_for\":1500} {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:49] local.INFO: [HubSpot Journal Polling] No data {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:53] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"crm:reset-governor\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"c8d52370-b908-428c-b973-699db0be2136\",\"trace_id\":\"fabc1f54-e263-4ba0-b8ff-324f62e84f1f\"}\n[2026-05-11 11:20:53] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"crm:reset-governor\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"c8d52370-b908-428c-b973-699db0be2136\",\"trace_id\":\"fabc1f54-e263-4ba0-b8ff-324f62e84f1f\"}\n[2026-05-11 11:20:54] local.INFO: [HubSpot Journal Polling] No data {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:56] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"crm:bullhorn:ping\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"de84a4c9-d2c5-4950-8c2d-f400cee667bf\",\"trace_id\":\"223fd9b2-ed24-4083-98cd-1bc4040dbbd1\"}\n[2026-05-11 11:20:57] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"crm:bullhorn:ping\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"de84a4c9-d2c5-4950-8c2d-f400cee667bf\",\"trace_id\":\"223fd9b2-ed24-4083-98cd-1bc4040dbbd1\"}\n[2026-05-11 11:20:59] local.INFO: [HubSpot Journal Polling] No data {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}","depth":4,"on_screen":true,"value":"[2026-05-11 11:17:21] local.NOTICE: Monitoring start {\"correlation_id\":\"885fde59-3852-4120-a620-af3da7ecce17\",\"trace_id\":\"4cc10f53-5d39-418d-8e98-fe53d9bbff5f\"}\n[2026-05-11 11:17:21] local.NOTICE: Monitoring end {\"correlation_id\":\"885fde59-3852-4120-a620-af3da7ecce17\",\"trace_id\":\"4cc10f53-5d39-418d-8e98-fe53d9bbff5f\"}\n[2026-05-11 11:17:34] 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\":\"a773fb28-5a0c-4b8f-a1b5-d57e6b81db90\",\"trace_id\":\"fb6d8028-db7d-4ef2-b175-740f0a7b8b39\"}\n[2026-05-11 11:17:35] 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\":\"a773fb28-5a0c-4b8f-a1b5-d57e6b81db90\",\"trace_id\":\"fb6d8028-db7d-4ef2-b175-740f0a7b8b39\"}\n[2026-05-11 11:17:37] 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\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] 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\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] 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\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] 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\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":1,\"reason\":\"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\\\":\\\"019e16c1-c (truncated...)\n\"} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":4} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] 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\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] 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\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":3} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] 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\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] 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\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":1} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] 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\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] 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\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":1,\"reason\":\"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\\\":\\\"019e16c1-c (truncated...)\n\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":2} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":614378,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":6167,\"account_id\":null,\"opportunity_id\":null,\"stage_id\":null}} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] 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\":6167,\"lead_id\":null},{\"id\":1002625,\"user_id\":89,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":3} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613840,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613840} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613840,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":261} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":299} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613840,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613840} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613840,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613833,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613833} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613833,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":1.0,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613833,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613833} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613833,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613827,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613827} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613827,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613827,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613827} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613827,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613826,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613826} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613826,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613826,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613826} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613826,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613820,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613820} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613820,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613820,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613820} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613820,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613818,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613818} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613818,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613818,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613818} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613818,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613812,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613812} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613812,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613812,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613812} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613812,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613807,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4484,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613807} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613807,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":4484,\"lead_id\":null}]} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":243,\"contact_id\":4484,\"owner_id\":253} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":243,\"contact_id\":4484} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":243,\"contact_id\":4484,\"opportunity_id\":276} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"tsvetomir.banovski@gmail.com\"} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613807,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613807} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613807,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613806,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613806} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613806,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":253} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":244,\"contact_id\":4487} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":350} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613806,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613806} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613806,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613805,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613805} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613805,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613805,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613805} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613805,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613698,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613698} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613698,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613698,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613698} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613698,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613697,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613697} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613697,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613697,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613697} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613697,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613696,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613696} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613696,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613696,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613696} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613696,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613695,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613695} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613695,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613695,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613695} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613695,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613694,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613694} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613694,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613694,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613694} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613694,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613157,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613157} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613157,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613157,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613157} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613157,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613156,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613156} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613156,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613156,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613156} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613156,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:process\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"859a4ec6-5c81-4283-bb96-c3ebaf5ff599\",\"trace_id\":\"f8a2783e-c54a-4d43-8cf6-61594479b0e7\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613155,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613155} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613155,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EmailSchedule] STARTING batch process {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"859a4ec6-5c81-4283-bb96-c3ebaf5ff599\",\"trace_id\":\"f8a2783e-c54a-4d43-8cf6-61594479b0e7\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613155,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613155} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613155,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EmailSchedule] FINISHED batch process {\"host\":\"docker_lamp_1\",\"processed\":0} {\"correlation_id\":\"859a4ec6-5c81-4283-bb96-c3ebaf5ff599\",\"trace_id\":\"f8a2783e-c54a-4d43-8cf6-61594479b0e7\"}\n[2026-05-11 11:17:42] 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\":\"859a4ec6-5c81-4283-bb96-c3ebaf5ff599\",\"trace_id\":\"f8a2783e-c54a-4d43-8cf6-61594479b0e7\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613130,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613130} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613130,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613130,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613130} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613130,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":165,\"stage_id\":89}} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612924} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612924,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":69,\"contact_id\":97,\"owner_id\":19} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":69,\"contact_id\":97,\"opportunity_id\":165} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612924,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612924} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612924,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":165,\"stage_id\":89}} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612923} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612923,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612923,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612923} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612923,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":165,\"stage_id\":89}} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612922} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612922,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612922,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612922} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612922,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612847,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612847,\"participants\":[{\"id\":1000130,\"user_id\":null,\"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\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] 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\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] 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\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":1,\"reason\":\"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\\\":\\\"019e16c1-d (truncated...)\n\"} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":5} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612822,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612822} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612822,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] 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\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] 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\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612822,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612822} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612822,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] 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\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612819,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] 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\":null,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] 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\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:47] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":1,\"reason\":\"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\\\":\\\"019e16c1-e (truncated...)\n\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:47] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":4} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612673,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612673} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612673,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] 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\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] 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\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612673,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612673} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612673,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] 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\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612642,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612642} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612642,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] 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\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] 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\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612642,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612642} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612642,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] 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\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612598} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612598,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] 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\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":243,\"contact_id\":4491,\"owner_id\":206} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":243,\"contact_id\":4491} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":243,\"contact_id\":4491,\"opportunity_id\":276} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] 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\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612598,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612598} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612598,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] 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\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612597} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612597,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] 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\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] 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\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:54] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612597,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612597} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612597,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:54] 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\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17: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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612596} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612596,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17: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\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17: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\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17: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\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612596} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612596,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17: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\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612595} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612595,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] 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\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] 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\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612595,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612595} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612595,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] 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\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612594} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612594,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] 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\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] 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\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612594,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612594} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612594,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] 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\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612593} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612593,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612593,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612593} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612593,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612592} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612592,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] 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\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612592,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612592} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612592,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] 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\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612591} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612591,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] 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\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612591,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612591} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612591,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612590} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612590,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612590,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612590} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612590,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612589} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612589,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612589,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612589} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612589,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612588} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612588,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612588,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612588} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612588,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":16.99,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:02] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612587} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612587,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612587,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612587} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612587,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612586} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612586,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612586,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612586} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612586,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612585} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612585,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] 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\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] 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\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612585,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612585} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612585,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] 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\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612584} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612584,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:05] 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\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] 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\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612584,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612584} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612584,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] 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\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612583} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612583,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] 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\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] 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\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612583,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612583} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612583,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:08] 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\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612582} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612582,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] 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\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] 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\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612582,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612582} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612582,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:10] 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\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612581} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612581,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] 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\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":4.14,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:11] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:12] 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\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:12] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612581,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:12] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612581} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:12] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612581,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:12] 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\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612565} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612565,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] 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\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:create\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"feff8215-75fe-40b2-916e-951435e048aa\",\"trace_id\":\"46d069ed-7c2b-4fdc-9679-9ec571a88271\"}\n[2026-05-11 11:18:15] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] 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\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612565,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612565} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612565,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:16] 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\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:16] local.INFO: [EmailSchedule] STARTING batch create {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"feff8215-75fe-40b2-916e-951435e048aa\",\"trace_id\":\"46d069ed-7c2b-4fdc-9679-9ec571a88271\"}\n[2026-05-11 11:18:16] 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\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:16] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612563} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:16] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612563,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:16] 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\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] 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\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":206} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":244,\"contact_id\":4487} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":350} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: [EmailSchedule] FINISHED batch create {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"feff8215-75fe-40b2-916e-951435e048aa\",\"trace_id\":\"46d069ed-7c2b-4fdc-9679-9ec571a88271\"}\n[2026-05-11 11:18:18] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"mailbox:batch:create\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"feff8215-75fe-40b2-916e-951435e048aa\",\"trace_id\":\"46d069ed-7c2b-4fdc-9679-9ec571a88271\"}\n[2026-05-11 11:18:18] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:19] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612563,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:19] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612563} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:19] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612563,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:19] 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\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:19] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":3.06,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:19] local.INFO: [Jiminny\\Jobs\\Mailbox\\CreateBatches] processed 2 inboxes and created 0 batches {\"userId\":null,\"batchSize\":30,\"maxBatches\":1000} {\"correlation_id\":\"5a640073-717d-40da-ad67-be02e37c56a2\",\"trace_id\":\"46d069ed-7c2b-4fdc-9679-9ec571a88271\"}\n[2026-05-11 11:18:20] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612562} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612562,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:21] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:21] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:21] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:22] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"447782589921@txt.staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:22] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:22] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:22] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:22] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:22] 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.32,\"average_seconds_per_request\":0.32} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612562,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612562} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612562,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612561} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612561,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] 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\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] 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\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\"} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612561,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612561} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612561,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612560} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612560,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"447782589921@txt.staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612560,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612560} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612560,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":1.89,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:26] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612559} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612559,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] 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\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] 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\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":69,\"contact_id\":97,\"owner_id\":206} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":69,\"contact_id\":97} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":69,\"contact_id\":97,\"opportunity_id\":5011} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612559,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612559} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612559,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] 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\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612558} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612558,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612558,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612558} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612558,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612557} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612557,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612557,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612557} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612557,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612556} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612556,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612556,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612556} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612556,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612555} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612555,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612555,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612555} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612555,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612554} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612554,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612554,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612554} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612554,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612553} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612553,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] 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\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612553,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612553} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612553,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] 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\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612552} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612552,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612552,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612552} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612552,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612551} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612551,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612551,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612551} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612551,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612550} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612550,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612550,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612550} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612550,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612549} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612549,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612549,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612549} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612549,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612365,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612365} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612365,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":243,\"contact_id\":4491,\"owner_id\":206} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":243,\"contact_id\":4491} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":243,\"contact_id\":4491,\"opportunity_id\":276} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612365,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612365} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612365,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612360,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612360} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612360,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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.29,\"average_seconds_per_request\":0.29} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612360,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612360} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612360,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612340,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612340} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612340,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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.34,\"average_seconds_per_request\":0.34} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612340,\"participants_processed\":4,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612340} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612340,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.75,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:32] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612339,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612339} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612339,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612339,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612339} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612339,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612336,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612336} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612336,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612336,\"participants_processed\":4,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612336} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612336,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612183,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612183} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612183,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":261} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":299} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612183,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612183} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612183,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612182,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612182} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612182,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612182,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612182} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612182,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612181,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612181} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612181,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612181,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612181} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612181,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612180,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612180} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612180,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612180,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612180} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612180,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611455} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611455,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:35] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:35] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:35] 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.27,\"average_seconds_per_request\":0.27} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611455,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611455} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611455,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611451} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] 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\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] 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\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] 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\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:37] 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.25,\"average_seconds_per_request\":0.25} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:37] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:37] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:37] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:37] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:37] 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\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:38] 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.44,\"average_seconds_per_request\":0.44} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] 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\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":3.16,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611451,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611451} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] 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\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611087} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611087,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] 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\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] 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\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611087,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611087} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611087,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] 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\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611076} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611076,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] 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\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] 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\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611076,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611076} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611076,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] 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\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610935} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610935,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610935,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610935} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610935,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610915} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610915,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610915,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610915} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610915,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610900} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610900,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610900,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610900} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610900,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610885} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610885,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610885,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610885} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610885,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610878} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610878,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610878,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610878} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610878,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610874} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610874,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610874,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610874} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610874,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610867} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610867,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610867,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610867} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610867,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610764} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610764,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610764,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610764} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610764,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610617} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610617,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610617,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610617} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610617,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610539} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610539,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610539,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610539} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610539,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.4,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:46] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610528} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610528,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610528,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610528} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610528,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610506} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610506,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610506,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610506} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610506,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610497} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610497,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610497,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610497} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610497,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610490} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610490,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610490,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610490} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610490,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610470} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610470,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610470,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610470} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610470,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610462} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610462,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610462,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610462} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610462,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610451} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610451,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610451} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610438} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610438,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610438,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610438} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610438,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610426} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610426,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610426,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610426} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610426,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610403} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610403,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610403,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610403} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610403,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610400} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610400,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":1460} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":244,\"contact_id\":4487} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":350} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610400,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610400} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610400,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] 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}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18: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\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18: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.51,\"average_seconds_per_request\":0.51} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:49] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:49] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:49] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:49] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18: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}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:49] 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.35,\"average_seconds_per_request\":0.35} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:50] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":614382,\"team_id\":2,\"email\":\"nikolay.nikolov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:50] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614382,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:50] 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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:50] 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}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] 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}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":614381,\"team_id\":2,\"email\":\"nikolay.nikolov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614381,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] 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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] 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}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] 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}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18: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\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":615092,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18: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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18: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}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18: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}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18: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\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614436,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18: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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":614378,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":6167,\"account_id\":null,\"opportunity_id\":null,\"stage_id\":null}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:50] 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\":6167,\"lead_id\":null},{\"id\":1002625,\"user_id\":89,\"contact_id\":null,\"lead_id\":null}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nmalchev@gmail.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18: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\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614378,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18: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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612847,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612847,\"participants\":[{\"id\":1000130,\"user_id\":null,\"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}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.84,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:51] 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\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:52] 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.28,\"average_seconds_per_request\":0.28} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:52] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"adelina.petrova@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:52] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:52] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:52] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:52] 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}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:53] 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.43,\"average_seconds_per_request\":0.43} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:53] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612847,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:53] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:53] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612847,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18: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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:54] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612819,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18: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\":null,\"contact_id\":null,\"lead_id\":null}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18: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\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"adelina.petrova@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612819,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18: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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:57] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.25,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:19:07] 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\":\"70d16739-7654-4185-99cb-49559aafc660\",\"trace_id\":\"d100f21a-5975-471a-b245-90b25b177c8f\"}\n[2026-05-11 11:19:07] local.INFO: [ScheduleBotCommand] Number of activities to be captured: 0 {\"correlation_id\":\"70d16739-7654-4185-99cb-49559aafc660\",\"trace_id\":\"d100f21a-5975-471a-b245-90b25b177c8f\"}\n[2026-05-11 11:19:07] 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\":\"70d16739-7654-4185-99cb-49559aafc660\",\"trace_id\":\"d100f21a-5975-471a-b245-90b25b177c8f\"}\n[2026-05-11 11:19:12] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"dialers:monitor-activities\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"91df8068-6c15-4614-947e-90f48574662c\",\"trace_id\":\"a9a86198-7521-4c0c-a89e-d23b34f2f8bf\"}\n[2026-05-11 11:19:12] 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\":\"91df8068-6c15-4614-947e-90f48574662c\",\"trace_id\":\"a9a86198-7521-4c0c-a89e-d23b34f2f8bf\"}\n[2026-05-11 11:19:15] local.NOTICE: Monitoring start {\"correlation_id\":\"6fae005c-3fcd-4718-86b0-f08f140f889c\",\"trace_id\":\"233ad400-a3ad-4093-8660-9e477cd6ca8f\"}\n[2026-05-11 11:19:15] local.NOTICE: Monitoring end {\"correlation_id\":\"6fae005c-3fcd-4718-86b0-f08f140f889c\",\"trace_id\":\"233ad400-a3ad-4093-8660-9e477cd6ca8f\"}\n[2026-05-11 11:19:18] 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\":\"08b79017-e665-425f-8048-21f93b1abf3b\",\"trace_id\":\"bb7a7ea5-30d3-4a13-9c3c-84bc1f9c26e7\"}\n[2026-05-11 11:19:18] 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\":\"08b79017-e665-425f-8048-21f93b1abf3b\",\"trace_id\":\"bb7a7ea5-30d3-4a13-9c3c-84bc1f9c26e7\"}\n[2026-05-11 11:19:21] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:process\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"0c31163b-b05f-4d3f-9a66-a2ce01d94010\",\"trace_id\":\"3dfb6352-28a3-4c77-b6ff-a11e0a7821a0\"}\n[2026-05-11 11:19:21] local.INFO: [EmailSchedule] STARTING batch process {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"0c31163b-b05f-4d3f-9a66-a2ce01d94010\",\"trace_id\":\"3dfb6352-28a3-4c77-b6ff-a11e0a7821a0\"}\n[2026-05-11 11:19:22] local.INFO: [EmailSchedule] FINISHED batch process {\"host\":\"docker_lamp_1\",\"processed\":0} {\"correlation_id\":\"0c31163b-b05f-4d3f-9a66-a2ce01d94010\",\"trace_id\":\"3dfb6352-28a3-4c77-b6ff-a11e0a7821a0\"}\n[2026-05-11 11:19:22] 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\":\"0c31163b-b05f-4d3f-9a66-a2ce01d94010\",\"trace_id\":\"3dfb6352-28a3-4c77-b6ff-a11e0a7821a0\"}\n[2026-05-11 11:20:08] 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\":\"cb3a4a64-b00b-4f94-9e00-c190cd7a7a42\",\"trace_id\":\"acd43b75-f255-471f-9563-f03de03c7e23\"}\n[2026-05-11 11:20:08] local.INFO: [ScheduleBotCommand] Number of activities to be captured: 0 {\"correlation_id\":\"cb3a4a64-b00b-4f94-9e00-c190cd7a7a42\",\"trace_id\":\"acd43b75-f255-471f-9563-f03de03c7e23\"}\n[2026-05-11 11:20:08] 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\":\"cb3a4a64-b00b-4f94-9e00-c190cd7a7a42\",\"trace_id\":\"acd43b75-f255-471f-9563-f03de03c7e23\"}\n[2026-05-11 11:20:10] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"dialers:monitor-activities\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"8ab6728e-9079-4166-bf97-fed4fb2ac7de\",\"trace_id\":\"508ecd6c-81db-47d4-8fad-d40b1e55cff3\"}\n[2026-05-11 11:20:10] 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\":\"8ab6728e-9079-4166-bf97-fed4fb2ac7de\",\"trace_id\":\"508ecd6c-81db-47d4-8fad-d40b1e55cff3\"}\n[2026-05-11 11:20:13] local.NOTICE: Monitoring start {\"correlation_id\":\"98b2a767-ff2a-4f82-866f-bf7dad58fe13\",\"trace_id\":\"ecb25ade-8dda-4d47-8bce-6b84e3c8fd0c\"}\n[2026-05-11 11:20:13] local.NOTICE: Monitoring end {\"correlation_id\":\"98b2a767-ff2a-4f82-866f-bf7dad58fe13\",\"trace_id\":\"ecb25ade-8dda-4d47-8bce-6b84e3c8fd0c\"}\n[2026-05-11 11:20:15] 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\":\"05f19e62-48e4-4c36-9577-648a2dd54abd\",\"trace_id\":\"e3d3acd1-5c23-4f37-9566-32a0cbd7a4eb\"}\n[2026-05-11 11:20:16] 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\":\"05f19e62-48e4-4c36-9577-648a2dd54abd\",\"trace_id\":\"e3d3acd1-5c23-4f37-9566-32a0cbd7a4eb\"}\n[2026-05-11 11:20:18] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:process\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"d5c19bc5-1a17-4b6d-9f62-a6715a8005c9\",\"trace_id\":\"451385cf-1bcd-4e06-8412-e5d197f5f567\"}\n[2026-05-11 11:20:18] local.INFO: [EmailSchedule] STARTING batch process {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"d5c19bc5-1a17-4b6d-9f62-a6715a8005c9\",\"trace_id\":\"451385cf-1bcd-4e06-8412-e5d197f5f567\"}\n[2026-05-11 11:20:18] local.INFO: [EmailSchedule] FINISHED batch process {\"host\":\"docker_lamp_1\",\"processed\":0} {\"correlation_id\":\"d5c19bc5-1a17-4b6d-9f62-a6715a8005c9\",\"trace_id\":\"451385cf-1bcd-4e06-8412-e5d197f5f567\"}\n[2026-05-11 11:20:18] 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\":\"d5c19bc5-1a17-4b6d-9f62-a6715a8005c9\",\"trace_id\":\"451385cf-1bcd-4e06-8412-e5d197f5f567\"}\n[2026-05-11 11:20:23] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:monitor:count\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"a01c4c40-1c1e-4865-be1f-0aa63b4fd1b9\",\"trace_id\":\"cba182ec-cbe6-4d53-b1c6-253546138cc8\"}\n[2026-05-11 11:20:23] local.INFO: Running conference:monitor:count command for activities in (2026-05-11 11:18:00, 2026-05-11 11:20:00] {\"correlation_id\":\"a01c4c40-1c1e-4865-be1f-0aa63b4fd1b9\",\"trace_id\":\"cba182ec-cbe6-4d53-b1c6-253546138cc8\"}\n[2026-05-11 11:20:23] local.INFO: [conference:monitor:count] No activities found in (2026-05-11 11:18:00, 2026-05-11 11:20:00] {\"correlation_id\":\"a01c4c40-1c1e-4865-be1f-0aa63b4fd1b9\",\"trace_id\":\"cba182ec-cbe6-4d53-b1c6-253546138cc8\"}\n[2026-05-11 11:20:23] 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\":\"a01c4c40-1c1e-4865-be1f-0aa63b4fd1b9\",\"trace_id\":\"cba182ec-cbe6-4d53-b1c6-253546138cc8\"}\n[2026-05-11 11:20:25] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"activity:purge-stale\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"b599f338-6a44-44d5-9f81-6fa300c4ea1b\",\"trace_id\":\"c7645418-4758-4410-83f2-8fe71ebf2ec2\"}\n[2026-05-11 11:20:25] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"activity:purge-stale\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"b599f338-6a44-44d5-9f81-6fa300c4ea1b\",\"trace_id\":\"c7645418-4758-4410-83f2-8fe71ebf2ec2\"}\n[2026-05-11 11:20:28] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:text-relay:sync\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"3c9d7674-d005-4372-8a60-2e8ecb587584\",\"trace_id\":\"22a0bdee-d653-4113-963c-043a68a4a8be\"}\n[2026-05-11 11:20:29] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"mailbox:text-relay:sync\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"3c9d7674-d005-4372-8a60-2e8ecb587584\",\"trace_id\":\"22a0bdee-d653-4113-963c-043a68a4a8be\"}\n[2026-05-11 11:20:31] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:pre-meeting-notification\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"1453203b-bac8-47ba-ac62-6369ac533fc2\",\"trace_id\":\"f176800e-9da8-4580-a332-56fa3402dbb7\"}\n[2026-05-11 11:20:31] local.INFO: Running pre-meeting notification command {\"correlation_id\":\"1453203b-bac8-47ba-ac62-6369ac533fc2\",\"trace_id\":\"f176800e-9da8-4580-a332-56fa3402dbb7\"}\n[2026-05-11 11:20:31] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"conference:pre-meeting-notification\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"1453203b-bac8-47ba-ac62-6369ac533fc2\",\"trace_id\":\"f176800e-9da8-4580-a332-56fa3402dbb7\"}\n[2026-05-11 11:20:33] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:monitor:start\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"2310f110-1f7e-4a28-b0c3-e5f8fc72688f\",\"trace_id\":\"9d6e8217-2f4e-4b23-8f36-8538f57064d9\"}\n[2026-05-11 11:20:33] local.INFO: Running conference:monitor:start command for activities in (2026-05-11 11:10:00, 2026-05-11 11:15:00] {\"correlation_id\":\"2310f110-1f7e-4a28-b0c3-e5f8fc72688f\",\"trace_id\":\"9d6e8217-2f4e-4b23-8f36-8538f57064d9\"}\n[2026-05-11 11:20:33] local.INFO: [conference:monitor:start] No activities found in (2026-05-11 11:10:00, 2026-05-11 11:15:00] {\"correlation_id\":\"2310f110-1f7e-4a28-b0c3-e5f8fc72688f\",\"trace_id\":\"9d6e8217-2f4e-4b23-8f36-8538f57064d9\"}\n[2026-05-11 11:20:33] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"conference:monitor:start\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"2310f110-1f7e-4a28-b0c3-e5f8fc72688f\",\"trace_id\":\"9d6e8217-2f4e-4b23-8f36-8538f57064d9\"}\n[2026-05-11 11:20:37] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:monitor:end\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"48a2dc23-76e1-4b34-b8a7-a7a957c71373\",\"trace_id\":\"b1788ca3-54cf-4031-b198-102838446996\"}\n[2026-05-11 11:20:37] local.INFO: conference:monitor:end:Jiminny\\Console\\Commands\\Activities\\MonitorMeetingEndCommand::logActivitiesEnded {\"from\":\"11:15\",\"to\":\"11:20\"} {\"correlation_id\":\"48a2dc23-76e1-4b34-b8a7-a7a957c71373\",\"trace_id\":\"b1788ca3-54cf-4031-b198-102838446996\"}\n[2026-05-11 11:20:38] local.INFO: conference:monitor:end:Jiminny\\Console\\Commands\\Activities\\MonitorMeetingEndCommand::logActivitiesWithUnfinishedSession {\"from\":\"01:10\",\"to\":\"01:15\"} {\"correlation_id\":\"48a2dc23-76e1-4b34-b8a7-a7a957c71373\",\"trace_id\":\"b1788ca3-54cf-4031-b198-102838446996\"}\n[2026-05-11 11:20:38] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"conference:monitor:end\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"48a2dc23-76e1-4b34-b8a7-a7a957c71373\",\"trace_id\":\"b1788ca3-54cf-4031-b198-102838446996\"}\n[2026-05-11 11:20:41] local.NOTICE: Repairing HubSpot tokens start {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: Trying to refresh HubSpot token {\"account_id\":59,\"updated_at\":\"2025-10-03 09:32:05\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: [SocialAccountService] Refreshing token from provider {\"socialAccountId\":59,\"provider\":\"hubspot\",\"refreshToken\":\"97b78f6e2cc49965c00c2492b602b02708b1392551e6b3f113fbaa48992af90b\",\"state\":\"full-refresh\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.ERROR: Failed to refresh HubSpot token {\"account_id\":59,\"updated_at\":\"2025-10-03 09:32:05\",\"reason\":\"missing or invalid refresh token\",\"previous\":\"\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: Trying to refresh HubSpot token {\"account_id\":306,\"updated_at\":\"2023-11-27 09:30:03\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: [SocialAccountService] Refreshing token from provider {\"socialAccountId\":306,\"provider\":\"hubspot\",\"refreshToken\":\"6fa6aa8cc641d131231acc3470f5c03cb3b07b2e580fb18f8acb3b1dbb72549b\",\"state\":\"full-refresh\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.ERROR: Failed to refresh HubSpot token {\"account_id\":306,\"updated_at\":\"2023-11-27 09:30:03\",\"reason\":\"missing or invalid refresh token\",\"previous\":\"\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: Trying to refresh HubSpot token {\"account_id\":1372,\"updated_at\":\"2025-10-02 14:47:06\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: [SocialAccountService] Refreshing token from provider {\"socialAccountId\":1372,\"provider\":\"hubspot\",\"refreshToken\":\"9aa73948c761da29dce46c177cf9aee1fde483a44169ca38723f9f0597d7a8c4\",\"state\":\"full-refresh\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:43] local.ERROR: Failed to refresh HubSpot token {\"account_id\":1372,\"updated_at\":\"2025-10-02 14:47:06\",\"reason\":\"missing or invalid refresh token\",\"previous\":\"\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:43] local.NOTICE: Repairing HubSpot tokens end {\"total\":3,\"fixed\":0,\"failed\":3} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:48] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"jiminny:transcription:retry-failed\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"28cf48be-a629-420c-a0a4-0d20fbd05838\",\"trace_id\":\"4fdaba19-5d8e-45db-a600-da048c8066fb\"}\n[2026-05-11 11:20:48] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:pre-meeting-reminder\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"6a6c06af-94cf-46bf-976e-55e401b3a588\",\"trace_id\":\"338c3b84-fc5a-404b-bed6-97341331ae68\"}\n[2026-05-11 11:20:48] local.INFO: [HubSpot Journal Command] Starting polling service {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:48] local.INFO: [HubSpot Journal Polling] Service starting {\"memory_limit\":\"256M\",\"max_execution_time\":\"0\",\"initial_memory_mb\":60.0} {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:48] local.INFO: [HubSpot Journal Polling] Acquired polling lock {\"expires_at\":\"2026-05-11T11:22:48.807561Z\"} {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:48] local.INFO: [HubSpot Journal Auth] Requesting new client credentials token {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:48] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"jiminny:transcription:retry-failed\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"28cf48be-a629-420c-a0a4-0d20fbd05838\",\"trace_id\":\"4fdaba19-5d8e-45db-a600-da048c8066fb\"}\n[2026-05-11 11:20:49] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"conference:pre-meeting-reminder\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"6a6c06af-94cf-46bf-976e-55e401b3a588\",\"trace_id\":\"338c3b84-fc5a-404b-bed6-97341331ae68\"}\n[2026-05-11 11:20:49] local.INFO: [HubSpot Journal Auth] Successfully obtained new access token {\"expires_in\":1800,\"cached_for\":1500} {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:49] local.INFO: [HubSpot Journal Polling] No data {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:53] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"crm:reset-governor\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"c8d52370-b908-428c-b973-699db0be2136\",\"trace_id\":\"fabc1f54-e263-4ba0-b8ff-324f62e84f1f\"}\n[2026-05-11 11:20:53] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"crm:reset-governor\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"c8d52370-b908-428c-b973-699db0be2136\",\"trace_id\":\"fabc1f54-e263-4ba0-b8ff-324f62e84f1f\"}\n[2026-05-11 11:20:54] local.INFO: [HubSpot Journal Polling] No data {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:56] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"crm:bullhorn:ping\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"de84a4c9-d2c5-4950-8c2d-f400cee667bf\",\"trace_id\":\"223fd9b2-ed24-4083-98cd-1bc4040dbbd1\"}\n[2026-05-11 11:20:57] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"crm:bullhorn:ping\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"de84a4c9-d2c5-4950-8c2d-f400cee667bf\",\"trace_id\":\"223fd9b2-ed24-4083-98cd-1bc4040dbbd1\"}\n[2026-05-11 11:20:59] local.INFO: [HubSpot Journal Polling] No data {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}","role_description":"text entry area","is_enabled":true,"is_focused":false,"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}]...
|
3313799739692082153
|
6378616412482181476
|
idle
|
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
2
67
3
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Services\Crm\Hubspot;
use HubSpot\Client\Crm\Deals\ApiException as DealApiException;
use HubSpot\Client\Crm\Contacts\ApiException as ContactApiException;
use HubSpot\Client\Crm\Companies\ApiException as CompanyApiException;
use HubSpot\Client\Crm\Contacts\Model\SimplePublicObjectWithAssociations as ContactsWithAssociations;
use HubSpot\Client\Crm\Companies\Model\SimplePublicObjectWithAssociations as CompaniesWithAssociations;
use HubSpot\Client\Crm\Deals\Model\SimplePublicObjectWithAssociations as DealWithAssociations;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectInput;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectWithAssociations as ObjectWithAssociations;
use HubSpot\Client\Crm\Pipelines\Model\Error;
use HubSpot\Client\Crm\Pipelines\Model\PipelineStage;
use HubSpot\Client\Crm\Properties\Model\Property;
use HubSpot\Discovery\Discovery;
use Jiminny\Exceptions\CrmException;
use Jiminny\Exceptions\RateLimitException;
use Jiminny\Exceptions\SocialAccountTokenInvalidException;
use Jiminny\Jobs\Crm\NoteObject;
use Jiminny\Models\Crm\Field;
use Jiminny\Services\Crm\BaseClient;
use Jiminny\Services\Crm\Hubspot\DTO\Response\Owner;
use Jiminny\Services\SocialAccountService;
use SevenShores\Hubspot\Exceptions\BadRequest;
use SevenShores\Hubspot\Exceptions\HubspotException;
use SevenShores\Hubspot\Factory;
use SevenShores\Hubspot\Http\Response;
use Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService;
use Illuminate\Support\Facades\Redis;
use Throwable;
/**
* @phpstan-type 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)
{
$cacheKey = $this->getRateLimitCacheKey();
$cachedRetryAfter = Redis::get($cacheKey);
if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {
throw new RateLimitException(
'Hubspot rate limit (cached circuit-breaker)',
(int) $cachedRetryAfter,
);
}
try {
return $apiCall();
} catch (Throwable $e) {
if ($this->isHubspotRateLimit($e)) {
$retryAfter = $this->parseRetryAfter($e);
Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);
$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 getRateLimitCacheKey(): string
{
return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());
}
public function isHubspotRateLimit(Throwable $e): bool
{
if ($e instanceof BadRequest
|| $e instanceof DealApiException
|| $e instanceof ContactApiException
|| $e instanceof CompanyApiException
|| $e instanceof \GuzzleHttp\Exception\RequestException
) {
return (int) $e->getCode() === 429;
}
return false;
}
public 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;
}
}
$message = strtolower($e->getMessage());
if (str_contains($message, 'daily')) {
return 600;
}
if (str_contains($message, 'ten secondly')) {
return 10;
}
if (str_contains($message, 'secondly')) {
return 1;
}
$this->log->warning('[Hubspot] No retry-after header or known message, using default', [
'exception_class' => get_class($e),
'message' => $message,
]);
return 10;
}
public function parseMessage(Throwable $e): string
{
if (! method_exists($e, 'getResponseBody')) {
return '';
}
$body = $e->getResponseBody();
if (is_string($body)) {
$body = json_decode($body, true) ?? [];
}
if (! is_array($body)) {
return '';
}
return (string) ($body['message'] ?? '');
}
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
);
}
/**
* Execute a search request against HubSpot CRM objects with rate limiting.
*
* @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')
* @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.
* @return array The search response with 'results', 'total', 'paging' keys
* @throws RateLimitException When rate limit is hit
* @throws HubspotException On API errors
*/
public function search(string $objectType, array $payload): array
{
$endpoint = self::BASE_URL . "/crm/v3/objects/{$objectType}/search";
return $this->executeRequest(function () use ($endpoint, $payload) {
$response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);
return $response->toArray();
});
}
/**
* @throws DealApiException
* @throws CrmException
*/
public function getOpportunityById(string $crmId, array $fields): array
{
try {
$deal = $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') {
return $this->getInstance()->getClient()?->request(
method: $method,
endpoint: $endpoint,
query_string: $queryString
);
} else {
return $this->getInstance()->getClient()->request($method, $endpoint, [
'json' => ($payload),
]);
}
}
/**
* @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 (RateLimitException $e) {
// throw $e;
} 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);
}
}
Show Replace Field
Search History
429
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
23/38
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Sync Changes
Hide This Notification
Code changed:
Hide
[2026-05-11 11:17:21] local.NOTICE: Monitoring start {"correlation_id":"885fde59-3852-4120-a620-af3da7ecce17","trace_id":"4cc10f53-5d39-418d-8e98-fe53d9bbff5f"}
[2026-05-11 11:17:21] local.NOTICE: Monitoring end {"correlation_id":"885fde59-3852-4120-a620-af3da7ecce17","trace_id":"4cc10f53-5d39-418d-8e98-fe53d9bbff5f"}
[2026-05-11 11:17:34] 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":"a773fb28-5a0c-4b8f-a1b5-d57e6b81db90","trace_id":"fb6d8028-db7d-4ef2-b175-740f0a7b8b39"}
[2026-05-11 11:17:35] 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":"a773fb28-5a0c-4b8f-a1b5-d57e6b81db90","trace_id":"fb6d8028-db7d-4ef2-b175-740f0a7b8b39"}
[2026-05-11 11:17:37] 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":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":615092} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":615092,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] 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":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [Prospect match] Cache miss, calling the API {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] 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":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.WARNING: [Hubspot] Received 429 from API {"team_id":2,"config_id":2,"retry_after":1,"reason":"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\":\"019e16c1-c (truncated...)
"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":1,"delay":4} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] 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":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614436} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614436,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] 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":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":1,"delay":3} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] 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":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614382} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614382,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] 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":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":1,"delay":1} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] 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":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614381} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614381,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] 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":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.WARNING: [Hubspot] Received 429 from API {"team_id":2,"config_id":2,"retry_after":1,"reason":"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\":\"019e16c1-c (truncated...)
"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":1,"delay":2} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [MatchActivityCrmData] Starting CRM data matching {"activity":614378,"remote_search":true,"set_configuration":2,"old_state":{"lead_id":null,"contact_id":6167,"account_id":null,"opportunity_id":null,"stage_id":null}} {"correlation_id":"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activit...
|
18472
|
NULL
|
NULL
|
NULL
|
|
18475
|
NULL
|
0
|
2026-05-11T11:23:57.599832+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778498637599_m1.jpg...
|
PhpStorm
|
faVsco.js – laravel.log
|
1
|
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
2
67
3
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Services\Crm\Hubspot;
use HubSpot\Client\Crm\Deals\ApiException as DealApiException;
use HubSpot\Client\Crm\Contacts\ApiException as ContactApiException;
use HubSpot\Client\Crm\Companies\ApiException as CompanyApiException;
use HubSpot\Client\Crm\Contacts\Model\SimplePublicObjectWithAssociations as ContactsWithAssociations;
use HubSpot\Client\Crm\Companies\Model\SimplePublicObjectWithAssociations as CompaniesWithAssociations;
use HubSpot\Client\Crm\Deals\Model\SimplePublicObjectWithAssociations as DealWithAssociations;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectInput;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectWithAssociations as ObjectWithAssociations;
use HubSpot\Client\Crm\Pipelines\Model\Error;
use HubSpot\Client\Crm\Pipelines\Model\PipelineStage;
use HubSpot\Client\Crm\Properties\Model\Property;
use HubSpot\Discovery\Discovery;
use Jiminny\Exceptions\CrmException;
use Jiminny\Exceptions\RateLimitException;
use Jiminny\Exceptions\SocialAccountTokenInvalidException;
use Jiminny\Jobs\Crm\NoteObject;
use Jiminny\Models\Crm\Field;
use Jiminny\Services\Crm\BaseClient;
use Jiminny\Services\Crm\Hubspot\DTO\Response\Owner;
use Jiminny\Services\SocialAccountService;
use SevenShores\Hubspot\Exceptions\BadRequest;
use SevenShores\Hubspot\Exceptions\HubspotException;
use SevenShores\Hubspot\Factory;
use SevenShores\Hubspot\Http\Response;
use Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService;
use Illuminate\Support\Facades\Redis;
use Throwable;
/**
* @phpstan-type 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)
{
$cacheKey = $this->getRateLimitCacheKey();
$cachedRetryAfter = Redis::get($cacheKey);
if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {
throw new RateLimitException(
'Hubspot rate limit (cached circuit-breaker)',
(int) $cachedRetryAfter,
);
}
try {
return $apiCall();
} catch (Throwable $e) {
if ($this->isHubspotRateLimit($e)) {
$retryAfter = $this->parseRetryAfter($e);
Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);
$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 getRateLimitCacheKey(): string
{
return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());
}
public function isHubspotRateLimit(Throwable $e): bool
{
if ($e instanceof BadRequest
|| $e instanceof DealApiException
|| $e instanceof ContactApiException
|| $e instanceof CompanyApiException
|| $e instanceof \GuzzleHttp\Exception\RequestException
) {
return (int) $e->getCode() === 429;
}
return false;
}
public 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;
}
}
$message = strtolower($e->getMessage());
if (str_contains($message, 'daily')) {
return 600;
}
if (str_contains($message, 'ten secondly')) {
return 10;
}
if (str_contains($message, 'secondly')) {
return 1;
}
$this->log->warning('[Hubspot] No retry-after header or known message, using default', [
'exception_class' => get_class($e),
'message' => $message,
]);
return 10;
}
public function parseMessage(Throwable $e): string
{
if (! method_exists($e, 'getResponseBody')) {
return '';
}
$body = $e->getResponseBody();
if (is_string($body)) {
$body = json_decode($body, true) ?? [];
}
if (! is_array($body)) {
return '';
}
return (string) ($body['message'] ?? '');
}
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
);
}
/**
* Execute a search request against HubSpot CRM objects with rate limiting.
*
* @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')
* @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.
* @return array The search response with 'results', 'total', 'paging' keys
* @throws RateLimitException When rate limit is hit
* @throws HubspotException On API errors
*/
public function search(string $objectType, array $payload): array
{
$endpoint = self::BASE_URL . "/crm/v3/objects/{$objectType}/search";
return $this->executeRequest(function () use ($endpoint, $payload) {
$response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);
return $response->toArray();
});
}
/**
* @throws DealApiException
* @throws CrmException
*/
public function getOpportunityById(string $crmId, array $fields): array
{
try {
$deal = $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') {
return $this->getInstance()->getClient()?->request(
method: $method,
endpoint: $endpoint,
query_string: $queryString
);
} else {
return $this->getInstance()->getClient()->request($method, $endpoint, [
'json' => ($payload),
]);
}
}
/**
* @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 (RateLimitException $e) {
// throw $e;
} 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);
}
}
Show Replace Field
Search History
429
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
23/38
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Sync Changes
Hide This Notification
Code changed:
Hide
[2026-05-11 11:17:21] local.NOTICE: Monitoring start {"correlation_id":"885fde59-3852-4120-a620-af3da7ecce17","trace_id":"4cc10f53-5d39-418d-8e98-fe53d9bbff5f"}
[2026-05-11 11:17:21] local.NOTICE: Monitoring end {"correlation_id":"885fde59-3852-4120-a620-af3da7ecce17","trace_id":"4cc10f53-5d39-418d-8e98-fe53d9bbff5f"}
[2026-05-11 11:17:34] 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":"a773fb28-5a0c-4b8f-a1b5-d57e6b81db90","trace_id":"fb6d8028-db7d-4ef2-b175-740f0a7b8b39"}
[2026-05-11 11:17:35] 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":"a773fb28-5a0c-4b8f-a1b5-d57e6b81db90","trace_id":"fb6d8028-db7d-4ef2-b175-740f0a7b8b39"}
[2026-05-11 11:17:37] 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":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":615092} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":615092,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] 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":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [Prospect match] Cache miss, calling the API {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] 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":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.WARNING: [Hubspot] Received 429 from API {"team_id":2,"config_id":2,"retry_after":1,"reason":"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\":\"019e16c1-c (truncated...)
"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":1,"delay":4} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] 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":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614436} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614436,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] 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":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":1,"delay":3} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] 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":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614382} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614382,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] 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":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":1,"delay":1} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] 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":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614381} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614381,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] 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":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.WARNING: [Hubspot] Received 429 from API {"team_id":2,"config_id":2,"retry_after":1,"reason":"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\":\"019e16c1-c (truncated...)
"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":1,"delay":2} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [MatchActivityCrmData] Starting CRM data matching {"activity":614378,"remote_search":true,"set_configuration":2,"old_state":{"lead_id":null,"contact_id":6167,"account_id":null,"opportunity_id":null,"stage_id":null}} {"correlation_id":"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activit...
|
[{"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":"2","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"67","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","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\\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\\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 Illuminate\\Support\\Facades\\Redis;\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\n public function __construct(\n SocialAccountService $socialAccountService,\n HubspotPaginationService $paginationService,\n HubspotTokenManager $tokenManager\n ) {\n parent::__construct($socialAccountService);\n $this->paginationService = $paginationService;\n $this->tokenManager = $tokenManager;\n\n $this->setBaseUrl(self::BASE_URL);\n $this->setVersion(self::MIN_API_VERSION);\n }\n\n /**\n * Reacts to a rate limits (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 $cacheKey = $this->getRateLimitCacheKey();\n\n $cachedRetryAfter = Redis::get($cacheKey);\n if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {\n throw new RateLimitException(\n 'Hubspot rate limit (cached circuit-breaker)',\n (int) $cachedRetryAfter,\n );\n }\n\n try {\n return $apiCall();\n } catch (Throwable $e) {\n if ($this->isHubspotRateLimit($e)) {\n $retryAfter = $this->parseRetryAfter($e);\n\n Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);\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 getRateLimitCacheKey(): string\n {\n return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());\n }\n\n public function isHubspotRateLimit(Throwable $e): bool\n {\n if ($e instanceof BadRequest\n || $e instanceof DealApiException\n || $e instanceof ContactApiException\n || $e instanceof CompanyApiException\n || $e instanceof \\GuzzleHttp\\Exception\\RequestException\n ) {\n return (int) $e->getCode() === 429;\n }\n\n return false;\n }\n\n public 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 $message = strtolower($e->getMessage());\n\n if (str_contains($message, 'daily')) {\n return 600;\n }\n if (str_contains($message, 'ten secondly')) {\n return 10;\n }\n if (str_contains($message, 'secondly')) {\n return 1;\n }\n\n $this->log->warning('[Hubspot] No retry-after header or known message, using default', [\n 'exception_class' => get_class($e),\n 'message' => $message,\n ]);\n\n return 10;\n }\n\n public function parseMessage(Throwable $e): string\n {\n if (! method_exists($e, 'getResponseBody')) {\n return '';\n }\n\n $body = $e->getResponseBody();\n if (is_string($body)) {\n $body = json_decode($body, true) ?? [];\n }\n\n if (! is_array($body)) {\n return '';\n }\n\n return (string) ($body['message'] ?? '');\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 * Execute a search request against HubSpot CRM objects with rate limiting.\n *\n * @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')\n * @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.\n * @return array The search response with 'results', 'total', 'paging' keys\n * @throws RateLimitException When rate limit is hit\n * @throws HubspotException On API errors\n */\n public function search(string $objectType, array $payload): array\n {\n $endpoint = self::BASE_URL . \"/crm/v3/objects/{$objectType}/search\";\n\n return $this->executeRequest(function () use ($endpoint, $payload) {\n $response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);\n\n return $response->toArray();\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->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 return $this->getInstance()->getClient()?->request(\n method: $method,\n endpoint: $endpoint,\n query_string: $queryString\n );\n } else {\n return $this->getInstance()->getClient()->request($method, $endpoint, [\n 'json' => ($payload),\n ]);\n }\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 (RateLimitException $e) {\n// throw $e;\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\\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 Illuminate\\Support\\Facades\\Redis;\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\n public function __construct(\n SocialAccountService $socialAccountService,\n HubspotPaginationService $paginationService,\n HubspotTokenManager $tokenManager\n ) {\n parent::__construct($socialAccountService);\n $this->paginationService = $paginationService;\n $this->tokenManager = $tokenManager;\n\n $this->setBaseUrl(self::BASE_URL);\n $this->setVersion(self::MIN_API_VERSION);\n }\n\n /**\n * Reacts to a rate limits (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 $cacheKey = $this->getRateLimitCacheKey();\n\n $cachedRetryAfter = Redis::get($cacheKey);\n if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {\n throw new RateLimitException(\n 'Hubspot rate limit (cached circuit-breaker)',\n (int) $cachedRetryAfter,\n );\n }\n\n try {\n return $apiCall();\n } catch (Throwable $e) {\n if ($this->isHubspotRateLimit($e)) {\n $retryAfter = $this->parseRetryAfter($e);\n\n Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);\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 getRateLimitCacheKey(): string\n {\n return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());\n }\n\n public function isHubspotRateLimit(Throwable $e): bool\n {\n if ($e instanceof BadRequest\n || $e instanceof DealApiException\n || $e instanceof ContactApiException\n || $e instanceof CompanyApiException\n || $e instanceof \\GuzzleHttp\\Exception\\RequestException\n ) {\n return (int) $e->getCode() === 429;\n }\n\n return false;\n }\n\n public 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 $message = strtolower($e->getMessage());\n\n if (str_contains($message, 'daily')) {\n return 600;\n }\n if (str_contains($message, 'ten secondly')) {\n return 10;\n }\n if (str_contains($message, 'secondly')) {\n return 1;\n }\n\n $this->log->warning('[Hubspot] No retry-after header or known message, using default', [\n 'exception_class' => get_class($e),\n 'message' => $message,\n ]);\n\n return 10;\n }\n\n public function parseMessage(Throwable $e): string\n {\n if (! method_exists($e, 'getResponseBody')) {\n return '';\n }\n\n $body = $e->getResponseBody();\n if (is_string($body)) {\n $body = json_decode($body, true) ?? [];\n }\n\n if (! is_array($body)) {\n return '';\n }\n\n return (string) ($body['message'] ?? '');\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 * Execute a search request against HubSpot CRM objects with rate limiting.\n *\n * @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')\n * @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.\n * @return array The search response with 'results', 'total', 'paging' keys\n * @throws RateLimitException When rate limit is hit\n * @throws HubspotException On API errors\n */\n public function search(string $objectType, array $payload): array\n {\n $endpoint = self::BASE_URL . \"/crm/v3/objects/{$objectType}/search\";\n\n return $this->executeRequest(function () use ($endpoint, $payload) {\n $response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);\n\n return $response->toArray();\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->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 return $this->getInstance()->getClient()?->request(\n method: $method,\n endpoint: $endpoint,\n query_string: $queryString\n );\n } else {\n return $this->getInstance()->getClient()->request($method, $endpoint, [\n 'json' => ($payload),\n ]);\n }\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 (RateLimitException $e) {\n// throw $e;\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":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Show Replace Field","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Search History","depth":3,"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"429","depth":4,"on_screen":true,"value":"429","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"New Line","depth":3,"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Match Case","depth":3,"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Words","depth":3,"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Regex","depth":3,"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Replace History","depth":3,"bounds":{"left":0.0,"top":0.0,"width":0.015277778,"height":0.024444444},"on_screen":false,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextField","text":"Replace","depth":4,"on_screen":false,"role_description":"text field","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"New Line","depth":3,"bounds":{"left":0.0,"top":0.0,"width":0.015277778,"height":0.024444444},"on_screen":false,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Preserve case","depth":3,"bounds":{"left":0.0,"top":0.0,"width":0.015277778,"height":0.024444444},"on_screen":false,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"23/38","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Occurrence","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Occurrence","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Filter Search Results","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open in Window, Multiple Cursors","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Click to highlight","depth":4,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","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":"AXTextArea","text":"[2026-05-11 11:17:21] local.NOTICE: Monitoring start {\"correlation_id\":\"885fde59-3852-4120-a620-af3da7ecce17\",\"trace_id\":\"4cc10f53-5d39-418d-8e98-fe53d9bbff5f\"}\n[2026-05-11 11:17:21] local.NOTICE: Monitoring end {\"correlation_id\":\"885fde59-3852-4120-a620-af3da7ecce17\",\"trace_id\":\"4cc10f53-5d39-418d-8e98-fe53d9bbff5f\"}\n[2026-05-11 11:17:34] 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\":\"a773fb28-5a0c-4b8f-a1b5-d57e6b81db90\",\"trace_id\":\"fb6d8028-db7d-4ef2-b175-740f0a7b8b39\"}\n[2026-05-11 11:17:35] 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\":\"a773fb28-5a0c-4b8f-a1b5-d57e6b81db90\",\"trace_id\":\"fb6d8028-db7d-4ef2-b175-740f0a7b8b39\"}\n[2026-05-11 11:17:37] 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\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] 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\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] 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\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] 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\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":1,\"reason\":\"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\\\":\\\"019e16c1-c (truncated...)\n\"} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":4} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] 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\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] 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\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":3} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] 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\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] 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\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":1} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] 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\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] 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\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":1,\"reason\":\"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\\\":\\\"019e16c1-c (truncated...)\n\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":2} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":614378,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":6167,\"account_id\":null,\"opportunity_id\":null,\"stage_id\":null}} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] 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\":6167,\"lead_id\":null},{\"id\":1002625,\"user_id\":89,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":3} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613840,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613840} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613840,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":261} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":299} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613840,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613840} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613840,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613833,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613833} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613833,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":1.0,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613833,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613833} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613833,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613827,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613827} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613827,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613827,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613827} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613827,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613826,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613826} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613826,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613826,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613826} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613826,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613820,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613820} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613820,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613820,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613820} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613820,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613818,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613818} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613818,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613818,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613818} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613818,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613812,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613812} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613812,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613812,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613812} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613812,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613807,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4484,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613807} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613807,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":4484,\"lead_id\":null}]} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":243,\"contact_id\":4484,\"owner_id\":253} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":243,\"contact_id\":4484} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":243,\"contact_id\":4484,\"opportunity_id\":276} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"tsvetomir.banovski@gmail.com\"} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613807,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613807} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613807,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613806,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613806} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613806,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":253} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":244,\"contact_id\":4487} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":350} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613806,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613806} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613806,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613805,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613805} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613805,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613805,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613805} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613805,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613698,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613698} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613698,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613698,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613698} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613698,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613697,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613697} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613697,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613697,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613697} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613697,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613696,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613696} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613696,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613696,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613696} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613696,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613695,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613695} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613695,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613695,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613695} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613695,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613694,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613694} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613694,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613694,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613694} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613694,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613157,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613157} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613157,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613157,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613157} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613157,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613156,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613156} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613156,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613156,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613156} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613156,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:process\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"859a4ec6-5c81-4283-bb96-c3ebaf5ff599\",\"trace_id\":\"f8a2783e-c54a-4d43-8cf6-61594479b0e7\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613155,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613155} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613155,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EmailSchedule] STARTING batch process {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"859a4ec6-5c81-4283-bb96-c3ebaf5ff599\",\"trace_id\":\"f8a2783e-c54a-4d43-8cf6-61594479b0e7\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613155,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613155} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613155,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EmailSchedule] FINISHED batch process {\"host\":\"docker_lamp_1\",\"processed\":0} {\"correlation_id\":\"859a4ec6-5c81-4283-bb96-c3ebaf5ff599\",\"trace_id\":\"f8a2783e-c54a-4d43-8cf6-61594479b0e7\"}\n[2026-05-11 11:17:42] 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\":\"859a4ec6-5c81-4283-bb96-c3ebaf5ff599\",\"trace_id\":\"f8a2783e-c54a-4d43-8cf6-61594479b0e7\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613130,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613130} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613130,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613130,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613130} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613130,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":165,\"stage_id\":89}} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612924} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612924,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":69,\"contact_id\":97,\"owner_id\":19} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":69,\"contact_id\":97,\"opportunity_id\":165} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612924,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612924} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612924,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":165,\"stage_id\":89}} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612923} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612923,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612923,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612923} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612923,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":165,\"stage_id\":89}} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612922} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612922,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612922,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612922} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612922,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612847,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612847,\"participants\":[{\"id\":1000130,\"user_id\":null,\"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\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] 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\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] 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\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":1,\"reason\":\"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\\\":\\\"019e16c1-d (truncated...)\n\"} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":5} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612822,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612822} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612822,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] 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\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] 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\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612822,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612822} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612822,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] 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\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612819,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] 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\":null,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] 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\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:47] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":1,\"reason\":\"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\\\":\\\"019e16c1-e (truncated...)\n\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:47] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":4} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612673,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612673} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612673,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] 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\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] 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\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612673,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612673} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612673,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] 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\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612642,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612642} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612642,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] 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\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] 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\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612642,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612642} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612642,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] 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\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612598} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612598,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] 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\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":243,\"contact_id\":4491,\"owner_id\":206} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":243,\"contact_id\":4491} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":243,\"contact_id\":4491,\"opportunity_id\":276} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] 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\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612598,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612598} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612598,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] 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\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612597} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612597,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] 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\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] 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\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:54] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612597,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612597} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612597,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:54] 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\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17: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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612596} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612596,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17: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\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17: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\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17: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\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612596} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612596,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17: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\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612595} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612595,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] 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\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] 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\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612595,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612595} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612595,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] 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\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612594} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612594,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] 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\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] 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\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612594,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612594} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612594,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] 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\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612593} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612593,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612593,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612593} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612593,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612592} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612592,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] 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\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612592,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612592} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612592,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] 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\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612591} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612591,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] 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\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612591,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612591} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612591,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612590} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612590,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612590,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612590} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612590,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612589} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612589,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612589,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612589} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612589,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612588} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612588,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612588,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612588} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612588,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":16.99,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:02] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612587} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612587,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612587,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612587} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612587,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612586} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612586,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612586,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612586} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612586,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612585} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612585,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] 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\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] 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\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612585,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612585} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612585,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] 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\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612584} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612584,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:05] 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\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] 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\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612584,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612584} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612584,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] 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\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612583} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612583,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] 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\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] 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\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612583,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612583} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612583,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:08] 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\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612582} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612582,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] 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\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] 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\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612582,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612582} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612582,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:10] 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\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612581} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612581,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] 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\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":4.14,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:11] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:12] 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\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:12] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612581,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:12] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612581} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:12] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612581,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:12] 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\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612565} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612565,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] 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\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:create\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"feff8215-75fe-40b2-916e-951435e048aa\",\"trace_id\":\"46d069ed-7c2b-4fdc-9679-9ec571a88271\"}\n[2026-05-11 11:18:15] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] 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\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612565,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612565} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612565,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:16] 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\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:16] local.INFO: [EmailSchedule] STARTING batch create {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"feff8215-75fe-40b2-916e-951435e048aa\",\"trace_id\":\"46d069ed-7c2b-4fdc-9679-9ec571a88271\"}\n[2026-05-11 11:18:16] 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\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:16] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612563} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:16] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612563,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:16] 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\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] 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\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":206} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":244,\"contact_id\":4487} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":350} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: [EmailSchedule] FINISHED batch create {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"feff8215-75fe-40b2-916e-951435e048aa\",\"trace_id\":\"46d069ed-7c2b-4fdc-9679-9ec571a88271\"}\n[2026-05-11 11:18:18] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"mailbox:batch:create\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"feff8215-75fe-40b2-916e-951435e048aa\",\"trace_id\":\"46d069ed-7c2b-4fdc-9679-9ec571a88271\"}\n[2026-05-11 11:18:18] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:19] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612563,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:19] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612563} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:19] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612563,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:19] 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\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:19] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":3.06,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:19] local.INFO: [Jiminny\\Jobs\\Mailbox\\CreateBatches] processed 2 inboxes and created 0 batches {\"userId\":null,\"batchSize\":30,\"maxBatches\":1000} {\"correlation_id\":\"5a640073-717d-40da-ad67-be02e37c56a2\",\"trace_id\":\"46d069ed-7c2b-4fdc-9679-9ec571a88271\"}\n[2026-05-11 11:18:20] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612562} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612562,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:21] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:21] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:21] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:22] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"447782589921@txt.staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:22] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:22] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:22] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:22] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:22] 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.32,\"average_seconds_per_request\":0.32} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612562,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612562} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612562,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612561} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612561,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] 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\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] 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\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\"} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612561,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612561} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612561,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612560} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612560,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"447782589921@txt.staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612560,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612560} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612560,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":1.89,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:26] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612559} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612559,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] 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\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] 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\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":69,\"contact_id\":97,\"owner_id\":206} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":69,\"contact_id\":97} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":69,\"contact_id\":97,\"opportunity_id\":5011} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612559,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612559} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612559,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] 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\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612558} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612558,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612558,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612558} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612558,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612557} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612557,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612557,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612557} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612557,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612556} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612556,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612556,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612556} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612556,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612555} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612555,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612555,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612555} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612555,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612554} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612554,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612554,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612554} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612554,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612553} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612553,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] 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\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612553,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612553} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612553,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] 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\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612552} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612552,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612552,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612552} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612552,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612551} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612551,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612551,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612551} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612551,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612550} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612550,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612550,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612550} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612550,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612549} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612549,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612549,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612549} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612549,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612365,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612365} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612365,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":243,\"contact_id\":4491,\"owner_id\":206} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":243,\"contact_id\":4491} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":243,\"contact_id\":4491,\"opportunity_id\":276} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612365,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612365} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612365,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612360,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612360} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612360,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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.29,\"average_seconds_per_request\":0.29} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612360,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612360} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612360,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612340,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612340} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612340,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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.34,\"average_seconds_per_request\":0.34} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612340,\"participants_processed\":4,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612340} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612340,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.75,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:32] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612339,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612339} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612339,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612339,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612339} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612339,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612336,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612336} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612336,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612336,\"participants_processed\":4,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612336} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612336,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612183,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612183} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612183,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":261} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":299} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612183,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612183} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612183,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612182,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612182} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612182,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612182,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612182} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612182,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612181,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612181} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612181,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612181,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612181} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612181,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612180,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612180} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612180,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612180,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612180} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612180,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611455} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611455,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:35] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:35] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:35] 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.27,\"average_seconds_per_request\":0.27} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611455,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611455} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611455,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611451} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] 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\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] 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\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] 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\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:37] 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.25,\"average_seconds_per_request\":0.25} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:37] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:37] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:37] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:37] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:37] 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\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:38] 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.44,\"average_seconds_per_request\":0.44} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] 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\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":3.16,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611451,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611451} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] 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\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611087} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611087,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] 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\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] 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\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611087,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611087} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611087,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] 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\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611076} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611076,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] 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\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] 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\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611076,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611076} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611076,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] 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\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610935} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610935,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610935,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610935} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610935,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610915} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610915,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610915,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610915} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610915,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610900} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610900,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610900,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610900} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610900,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610885} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610885,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610885,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610885} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610885,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610878} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610878,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610878,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610878} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610878,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610874} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610874,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610874,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610874} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610874,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610867} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610867,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610867,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610867} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610867,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610764} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610764,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610764,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610764} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610764,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610617} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610617,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610617,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610617} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610617,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610539} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610539,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610539,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610539} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610539,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.4,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:46] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610528} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610528,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610528,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610528} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610528,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610506} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610506,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610506,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610506} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610506,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610497} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610497,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610497,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610497} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610497,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610490} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610490,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610490,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610490} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610490,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610470} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610470,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610470,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610470} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610470,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610462} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610462,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610462,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610462} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610462,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610451} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610451,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610451} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610438} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610438,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610438,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610438} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610438,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610426} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610426,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610426,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610426} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610426,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610403} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610403,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610403,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610403} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610403,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610400} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610400,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":1460} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":244,\"contact_id\":4487} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":350} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610400,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610400} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610400,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] 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}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18: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\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18: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.51,\"average_seconds_per_request\":0.51} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:49] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:49] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:49] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:49] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18: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}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:49] 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.35,\"average_seconds_per_request\":0.35} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:50] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":614382,\"team_id\":2,\"email\":\"nikolay.nikolov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:50] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614382,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:50] 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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:50] 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}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] 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}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":614381,\"team_id\":2,\"email\":\"nikolay.nikolov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614381,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] 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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] 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}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] 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}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18: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\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":615092,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18: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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18: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}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18: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}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18: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\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614436,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18: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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":614378,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":6167,\"account_id\":null,\"opportunity_id\":null,\"stage_id\":null}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:50] 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\":6167,\"lead_id\":null},{\"id\":1002625,\"user_id\":89,\"contact_id\":null,\"lead_id\":null}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nmalchev@gmail.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18: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\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614378,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18: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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612847,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612847,\"participants\":[{\"id\":1000130,\"user_id\":null,\"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}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.84,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:51] 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\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:52] 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.28,\"average_seconds_per_request\":0.28} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:52] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"adelina.petrova@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:52] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:52] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:52] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:52] 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}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:53] 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.43,\"average_seconds_per_request\":0.43} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:53] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612847,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:53] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:53] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612847,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18: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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:54] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612819,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18: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\":null,\"contact_id\":null,\"lead_id\":null}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18: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\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"adelina.petrova@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612819,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18: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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:57] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.25,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:19:07] 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\":\"70d16739-7654-4185-99cb-49559aafc660\",\"trace_id\":\"d100f21a-5975-471a-b245-90b25b177c8f\"}\n[2026-05-11 11:19:07] local.INFO: [ScheduleBotCommand] Number of activities to be captured: 0 {\"correlation_id\":\"70d16739-7654-4185-99cb-49559aafc660\",\"trace_id\":\"d100f21a-5975-471a-b245-90b25b177c8f\"}\n[2026-05-11 11:19:07] 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\":\"70d16739-7654-4185-99cb-49559aafc660\",\"trace_id\":\"d100f21a-5975-471a-b245-90b25b177c8f\"}\n[2026-05-11 11:19:12] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"dialers:monitor-activities\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"91df8068-6c15-4614-947e-90f48574662c\",\"trace_id\":\"a9a86198-7521-4c0c-a89e-d23b34f2f8bf\"}\n[2026-05-11 11:19:12] 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\":\"91df8068-6c15-4614-947e-90f48574662c\",\"trace_id\":\"a9a86198-7521-4c0c-a89e-d23b34f2f8bf\"}\n[2026-05-11 11:19:15] local.NOTICE: Monitoring start {\"correlation_id\":\"6fae005c-3fcd-4718-86b0-f08f140f889c\",\"trace_id\":\"233ad400-a3ad-4093-8660-9e477cd6ca8f\"}\n[2026-05-11 11:19:15] local.NOTICE: Monitoring end {\"correlation_id\":\"6fae005c-3fcd-4718-86b0-f08f140f889c\",\"trace_id\":\"233ad400-a3ad-4093-8660-9e477cd6ca8f\"}\n[2026-05-11 11:19:18] 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\":\"08b79017-e665-425f-8048-21f93b1abf3b\",\"trace_id\":\"bb7a7ea5-30d3-4a13-9c3c-84bc1f9c26e7\"}\n[2026-05-11 11:19:18] 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\":\"08b79017-e665-425f-8048-21f93b1abf3b\",\"trace_id\":\"bb7a7ea5-30d3-4a13-9c3c-84bc1f9c26e7\"}\n[2026-05-11 11:19:21] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:process\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"0c31163b-b05f-4d3f-9a66-a2ce01d94010\",\"trace_id\":\"3dfb6352-28a3-4c77-b6ff-a11e0a7821a0\"}\n[2026-05-11 11:19:21] local.INFO: [EmailSchedule] STARTING batch process {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"0c31163b-b05f-4d3f-9a66-a2ce01d94010\",\"trace_id\":\"3dfb6352-28a3-4c77-b6ff-a11e0a7821a0\"}\n[2026-05-11 11:19:22] local.INFO: [EmailSchedule] FINISHED batch process {\"host\":\"docker_lamp_1\",\"processed\":0} {\"correlation_id\":\"0c31163b-b05f-4d3f-9a66-a2ce01d94010\",\"trace_id\":\"3dfb6352-28a3-4c77-b6ff-a11e0a7821a0\"}\n[2026-05-11 11:19:22] 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\":\"0c31163b-b05f-4d3f-9a66-a2ce01d94010\",\"trace_id\":\"3dfb6352-28a3-4c77-b6ff-a11e0a7821a0\"}\n[2026-05-11 11:20:08] 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\":\"cb3a4a64-b00b-4f94-9e00-c190cd7a7a42\",\"trace_id\":\"acd43b75-f255-471f-9563-f03de03c7e23\"}\n[2026-05-11 11:20:08] local.INFO: [ScheduleBotCommand] Number of activities to be captured: 0 {\"correlation_id\":\"cb3a4a64-b00b-4f94-9e00-c190cd7a7a42\",\"trace_id\":\"acd43b75-f255-471f-9563-f03de03c7e23\"}\n[2026-05-11 11:20:08] 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\":\"cb3a4a64-b00b-4f94-9e00-c190cd7a7a42\",\"trace_id\":\"acd43b75-f255-471f-9563-f03de03c7e23\"}\n[2026-05-11 11:20:10] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"dialers:monitor-activities\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"8ab6728e-9079-4166-bf97-fed4fb2ac7de\",\"trace_id\":\"508ecd6c-81db-47d4-8fad-d40b1e55cff3\"}\n[2026-05-11 11:20:10] 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\":\"8ab6728e-9079-4166-bf97-fed4fb2ac7de\",\"trace_id\":\"508ecd6c-81db-47d4-8fad-d40b1e55cff3\"}\n[2026-05-11 11:20:13] local.NOTICE: Monitoring start {\"correlation_id\":\"98b2a767-ff2a-4f82-866f-bf7dad58fe13\",\"trace_id\":\"ecb25ade-8dda-4d47-8bce-6b84e3c8fd0c\"}\n[2026-05-11 11:20:13] local.NOTICE: Monitoring end {\"correlation_id\":\"98b2a767-ff2a-4f82-866f-bf7dad58fe13\",\"trace_id\":\"ecb25ade-8dda-4d47-8bce-6b84e3c8fd0c\"}\n[2026-05-11 11:20:15] 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\":\"05f19e62-48e4-4c36-9577-648a2dd54abd\",\"trace_id\":\"e3d3acd1-5c23-4f37-9566-32a0cbd7a4eb\"}\n[2026-05-11 11:20:16] 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\":\"05f19e62-48e4-4c36-9577-648a2dd54abd\",\"trace_id\":\"e3d3acd1-5c23-4f37-9566-32a0cbd7a4eb\"}\n[2026-05-11 11:20:18] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:process\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"d5c19bc5-1a17-4b6d-9f62-a6715a8005c9\",\"trace_id\":\"451385cf-1bcd-4e06-8412-e5d197f5f567\"}\n[2026-05-11 11:20:18] local.INFO: [EmailSchedule] STARTING batch process {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"d5c19bc5-1a17-4b6d-9f62-a6715a8005c9\",\"trace_id\":\"451385cf-1bcd-4e06-8412-e5d197f5f567\"}\n[2026-05-11 11:20:18] local.INFO: [EmailSchedule] FINISHED batch process {\"host\":\"docker_lamp_1\",\"processed\":0} {\"correlation_id\":\"d5c19bc5-1a17-4b6d-9f62-a6715a8005c9\",\"trace_id\":\"451385cf-1bcd-4e06-8412-e5d197f5f567\"}\n[2026-05-11 11:20:18] 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\":\"d5c19bc5-1a17-4b6d-9f62-a6715a8005c9\",\"trace_id\":\"451385cf-1bcd-4e06-8412-e5d197f5f567\"}\n[2026-05-11 11:20:23] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:monitor:count\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"a01c4c40-1c1e-4865-be1f-0aa63b4fd1b9\",\"trace_id\":\"cba182ec-cbe6-4d53-b1c6-253546138cc8\"}\n[2026-05-11 11:20:23] local.INFO: Running conference:monitor:count command for activities in (2026-05-11 11:18:00, 2026-05-11 11:20:00] {\"correlation_id\":\"a01c4c40-1c1e-4865-be1f-0aa63b4fd1b9\",\"trace_id\":\"cba182ec-cbe6-4d53-b1c6-253546138cc8\"}\n[2026-05-11 11:20:23] local.INFO: [conference:monitor:count] No activities found in (2026-05-11 11:18:00, 2026-05-11 11:20:00] {\"correlation_id\":\"a01c4c40-1c1e-4865-be1f-0aa63b4fd1b9\",\"trace_id\":\"cba182ec-cbe6-4d53-b1c6-253546138cc8\"}\n[2026-05-11 11:20:23] 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\":\"a01c4c40-1c1e-4865-be1f-0aa63b4fd1b9\",\"trace_id\":\"cba182ec-cbe6-4d53-b1c6-253546138cc8\"}\n[2026-05-11 11:20:25] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"activity:purge-stale\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"b599f338-6a44-44d5-9f81-6fa300c4ea1b\",\"trace_id\":\"c7645418-4758-4410-83f2-8fe71ebf2ec2\"}\n[2026-05-11 11:20:25] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"activity:purge-stale\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"b599f338-6a44-44d5-9f81-6fa300c4ea1b\",\"trace_id\":\"c7645418-4758-4410-83f2-8fe71ebf2ec2\"}\n[2026-05-11 11:20:28] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:text-relay:sync\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"3c9d7674-d005-4372-8a60-2e8ecb587584\",\"trace_id\":\"22a0bdee-d653-4113-963c-043a68a4a8be\"}\n[2026-05-11 11:20:29] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"mailbox:text-relay:sync\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"3c9d7674-d005-4372-8a60-2e8ecb587584\",\"trace_id\":\"22a0bdee-d653-4113-963c-043a68a4a8be\"}\n[2026-05-11 11:20:31] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:pre-meeting-notification\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"1453203b-bac8-47ba-ac62-6369ac533fc2\",\"trace_id\":\"f176800e-9da8-4580-a332-56fa3402dbb7\"}\n[2026-05-11 11:20:31] local.INFO: Running pre-meeting notification command {\"correlation_id\":\"1453203b-bac8-47ba-ac62-6369ac533fc2\",\"trace_id\":\"f176800e-9da8-4580-a332-56fa3402dbb7\"}\n[2026-05-11 11:20:31] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"conference:pre-meeting-notification\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"1453203b-bac8-47ba-ac62-6369ac533fc2\",\"trace_id\":\"f176800e-9da8-4580-a332-56fa3402dbb7\"}\n[2026-05-11 11:20:33] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:monitor:start\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"2310f110-1f7e-4a28-b0c3-e5f8fc72688f\",\"trace_id\":\"9d6e8217-2f4e-4b23-8f36-8538f57064d9\"}\n[2026-05-11 11:20:33] local.INFO: Running conference:monitor:start command for activities in (2026-05-11 11:10:00, 2026-05-11 11:15:00] {\"correlation_id\":\"2310f110-1f7e-4a28-b0c3-e5f8fc72688f\",\"trace_id\":\"9d6e8217-2f4e-4b23-8f36-8538f57064d9\"}\n[2026-05-11 11:20:33] local.INFO: [conference:monitor:start] No activities found in (2026-05-11 11:10:00, 2026-05-11 11:15:00] {\"correlation_id\":\"2310f110-1f7e-4a28-b0c3-e5f8fc72688f\",\"trace_id\":\"9d6e8217-2f4e-4b23-8f36-8538f57064d9\"}\n[2026-05-11 11:20:33] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"conference:monitor:start\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"2310f110-1f7e-4a28-b0c3-e5f8fc72688f\",\"trace_id\":\"9d6e8217-2f4e-4b23-8f36-8538f57064d9\"}\n[2026-05-11 11:20:37] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:monitor:end\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"48a2dc23-76e1-4b34-b8a7-a7a957c71373\",\"trace_id\":\"b1788ca3-54cf-4031-b198-102838446996\"}\n[2026-05-11 11:20:37] local.INFO: conference:monitor:end:Jiminny\\Console\\Commands\\Activities\\MonitorMeetingEndCommand::logActivitiesEnded {\"from\":\"11:15\",\"to\":\"11:20\"} {\"correlation_id\":\"48a2dc23-76e1-4b34-b8a7-a7a957c71373\",\"trace_id\":\"b1788ca3-54cf-4031-b198-102838446996\"}\n[2026-05-11 11:20:38] local.INFO: conference:monitor:end:Jiminny\\Console\\Commands\\Activities\\MonitorMeetingEndCommand::logActivitiesWithUnfinishedSession {\"from\":\"01:10\",\"to\":\"01:15\"} {\"correlation_id\":\"48a2dc23-76e1-4b34-b8a7-a7a957c71373\",\"trace_id\":\"b1788ca3-54cf-4031-b198-102838446996\"}\n[2026-05-11 11:20:38] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"conference:monitor:end\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"48a2dc23-76e1-4b34-b8a7-a7a957c71373\",\"trace_id\":\"b1788ca3-54cf-4031-b198-102838446996\"}\n[2026-05-11 11:20:41] local.NOTICE: Repairing HubSpot tokens start {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: Trying to refresh HubSpot token {\"account_id\":59,\"updated_at\":\"2025-10-03 09:32:05\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: [SocialAccountService] Refreshing token from provider {\"socialAccountId\":59,\"provider\":\"hubspot\",\"refreshToken\":\"97b78f6e2cc49965c00c2492b602b02708b1392551e6b3f113fbaa48992af90b\",\"state\":\"full-refresh\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.ERROR: Failed to refresh HubSpot token {\"account_id\":59,\"updated_at\":\"2025-10-03 09:32:05\",\"reason\":\"missing or invalid refresh token\",\"previous\":\"\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: Trying to refresh HubSpot token {\"account_id\":306,\"updated_at\":\"2023-11-27 09:30:03\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: [SocialAccountService] Refreshing token from provider {\"socialAccountId\":306,\"provider\":\"hubspot\",\"refreshToken\":\"6fa6aa8cc641d131231acc3470f5c03cb3b07b2e580fb18f8acb3b1dbb72549b\",\"state\":\"full-refresh\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.ERROR: Failed to refresh HubSpot token {\"account_id\":306,\"updated_at\":\"2023-11-27 09:30:03\",\"reason\":\"missing or invalid refresh token\",\"previous\":\"\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: Trying to refresh HubSpot token {\"account_id\":1372,\"updated_at\":\"2025-10-02 14:47:06\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: [SocialAccountService] Refreshing token from provider {\"socialAccountId\":1372,\"provider\":\"hubspot\",\"refreshToken\":\"9aa73948c761da29dce46c177cf9aee1fde483a44169ca38723f9f0597d7a8c4\",\"state\":\"full-refresh\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:43] local.ERROR: Failed to refresh HubSpot token {\"account_id\":1372,\"updated_at\":\"2025-10-02 14:47:06\",\"reason\":\"missing or invalid refresh token\",\"previous\":\"\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:43] local.NOTICE: Repairing HubSpot tokens end {\"total\":3,\"fixed\":0,\"failed\":3} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:48] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"jiminny:transcription:retry-failed\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"28cf48be-a629-420c-a0a4-0d20fbd05838\",\"trace_id\":\"4fdaba19-5d8e-45db-a600-da048c8066fb\"}\n[2026-05-11 11:20:48] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:pre-meeting-reminder\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"6a6c06af-94cf-46bf-976e-55e401b3a588\",\"trace_id\":\"338c3b84-fc5a-404b-bed6-97341331ae68\"}\n[2026-05-11 11:20:48] local.INFO: [HubSpot Journal Command] Starting polling service {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:48] local.INFO: [HubSpot Journal Polling] Service starting {\"memory_limit\":\"256M\",\"max_execution_time\":\"0\",\"initial_memory_mb\":60.0} {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:48] local.INFO: [HubSpot Journal Polling] Acquired polling lock {\"expires_at\":\"2026-05-11T11:22:48.807561Z\"} {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:48] local.INFO: [HubSpot Journal Auth] Requesting new client credentials token {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:48] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"jiminny:transcription:retry-failed\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"28cf48be-a629-420c-a0a4-0d20fbd05838\",\"trace_id\":\"4fdaba19-5d8e-45db-a600-da048c8066fb\"}\n[2026-05-11 11:20:49] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"conference:pre-meeting-reminder\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"6a6c06af-94cf-46bf-976e-55e401b3a588\",\"trace_id\":\"338c3b84-fc5a-404b-bed6-97341331ae68\"}\n[2026-05-11 11:20:49] local.INFO: [HubSpot Journal Auth] Successfully obtained new access token {\"expires_in\":1800,\"cached_for\":1500} {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:49] local.INFO: [HubSpot Journal Polling] No data {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:53] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"crm:reset-governor\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"c8d52370-b908-428c-b973-699db0be2136\",\"trace_id\":\"fabc1f54-e263-4ba0-b8ff-324f62e84f1f\"}\n[2026-05-11 11:20:53] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"crm:reset-governor\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"c8d52370-b908-428c-b973-699db0be2136\",\"trace_id\":\"fabc1f54-e263-4ba0-b8ff-324f62e84f1f\"}\n[2026-05-11 11:20:54] local.INFO: [HubSpot Journal Polling] No data {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:56] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"crm:bullhorn:ping\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"de84a4c9-d2c5-4950-8c2d-f400cee667bf\",\"trace_id\":\"223fd9b2-ed24-4083-98cd-1bc4040dbbd1\"}\n[2026-05-11 11:20:57] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"crm:bullhorn:ping\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"de84a4c9-d2c5-4950-8c2d-f400cee667bf\",\"trace_id\":\"223fd9b2-ed24-4083-98cd-1bc4040dbbd1\"}\n[2026-05-11 11:20:59] local.INFO: [HubSpot Journal Polling] No data {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}","depth":4,"on_screen":true,"value":"[2026-05-11 11:17:21] local.NOTICE: Monitoring start {\"correlation_id\":\"885fde59-3852-4120-a620-af3da7ecce17\",\"trace_id\":\"4cc10f53-5d39-418d-8e98-fe53d9bbff5f\"}\n[2026-05-11 11:17:21] local.NOTICE: Monitoring end {\"correlation_id\":\"885fde59-3852-4120-a620-af3da7ecce17\",\"trace_id\":\"4cc10f53-5d39-418d-8e98-fe53d9bbff5f\"}\n[2026-05-11 11:17:34] 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\":\"a773fb28-5a0c-4b8f-a1b5-d57e6b81db90\",\"trace_id\":\"fb6d8028-db7d-4ef2-b175-740f0a7b8b39\"}\n[2026-05-11 11:17:35] 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\":\"a773fb28-5a0c-4b8f-a1b5-d57e6b81db90\",\"trace_id\":\"fb6d8028-db7d-4ef2-b175-740f0a7b8b39\"}\n[2026-05-11 11:17:37] 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\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] 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\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] 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\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] 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\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":1,\"reason\":\"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\\\":\\\"019e16c1-c (truncated...)\n\"} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":4} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] 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\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] 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\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":3} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] 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\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] 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\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":1} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] 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\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] 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\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":1,\"reason\":\"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\\\":\\\"019e16c1-c (truncated...)\n\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":2} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":614378,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":6167,\"account_id\":null,\"opportunity_id\":null,\"stage_id\":null}} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] 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\":6167,\"lead_id\":null},{\"id\":1002625,\"user_id\":89,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":3} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613840,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613840} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613840,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":261} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":299} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613840,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613840} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613840,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613833,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613833} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613833,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":1.0,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613833,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613833} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613833,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613827,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613827} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613827,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613827,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613827} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613827,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613826,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613826} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613826,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613826,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613826} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613826,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613820,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613820} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613820,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613820,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613820} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613820,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613818,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613818} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613818,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613818,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613818} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613818,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613812,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613812} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613812,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613812,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613812} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613812,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613807,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4484,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613807} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613807,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":4484,\"lead_id\":null}]} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":243,\"contact_id\":4484,\"owner_id\":253} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":243,\"contact_id\":4484} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":243,\"contact_id\":4484,\"opportunity_id\":276} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"tsvetomir.banovski@gmail.com\"} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613807,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613807} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613807,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613806,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613806} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613806,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":253} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":244,\"contact_id\":4487} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":350} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613806,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613806} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613806,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613805,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613805} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613805,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613805,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613805} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613805,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613698,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613698} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613698,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613698,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613698} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613698,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613697,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613697} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613697,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613697,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613697} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613697,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613696,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613696} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613696,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613696,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613696} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613696,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613695,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613695} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613695,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613695,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613695} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613695,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613694,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613694} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613694,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613694,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613694} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613694,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613157,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613157} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613157,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613157,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613157} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613157,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613156,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613156} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613156,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613156,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613156} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613156,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:process\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"859a4ec6-5c81-4283-bb96-c3ebaf5ff599\",\"trace_id\":\"f8a2783e-c54a-4d43-8cf6-61594479b0e7\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613155,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613155} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613155,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EmailSchedule] STARTING batch process {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"859a4ec6-5c81-4283-bb96-c3ebaf5ff599\",\"trace_id\":\"f8a2783e-c54a-4d43-8cf6-61594479b0e7\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613155,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613155} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613155,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EmailSchedule] FINISHED batch process {\"host\":\"docker_lamp_1\",\"processed\":0} {\"correlation_id\":\"859a4ec6-5c81-4283-bb96-c3ebaf5ff599\",\"trace_id\":\"f8a2783e-c54a-4d43-8cf6-61594479b0e7\"}\n[2026-05-11 11:17:42] 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\":\"859a4ec6-5c81-4283-bb96-c3ebaf5ff599\",\"trace_id\":\"f8a2783e-c54a-4d43-8cf6-61594479b0e7\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613130,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613130} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613130,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613130,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613130} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613130,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":165,\"stage_id\":89}} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612924} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612924,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":69,\"contact_id\":97,\"owner_id\":19} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":69,\"contact_id\":97,\"opportunity_id\":165} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612924,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612924} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612924,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":165,\"stage_id\":89}} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612923} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612923,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612923,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612923} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612923,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":165,\"stage_id\":89}} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612922} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612922,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612922,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612922} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612922,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612847,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612847,\"participants\":[{\"id\":1000130,\"user_id\":null,\"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\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] 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\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] 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\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":1,\"reason\":\"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\\\":\\\"019e16c1-d (truncated...)\n\"} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":5} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612822,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612822} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612822,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] 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\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] 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\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612822,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612822} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612822,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] 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\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612819,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] 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\":null,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] 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\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:47] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":1,\"reason\":\"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\\\":\\\"019e16c1-e (truncated...)\n\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:47] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":4} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612673,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612673} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612673,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] 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\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] 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\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612673,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612673} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612673,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] 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\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612642,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612642} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612642,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] 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\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] 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\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612642,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612642} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612642,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] 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\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612598} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612598,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] 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\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":243,\"contact_id\":4491,\"owner_id\":206} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":243,\"contact_id\":4491} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":243,\"contact_id\":4491,\"opportunity_id\":276} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] 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\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612598,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612598} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612598,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] 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\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612597} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612597,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] 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\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] 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\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:54] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612597,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612597} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612597,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:54] 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\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17: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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612596} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612596,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17: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\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17: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\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17: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\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612596} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612596,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17: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\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612595} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612595,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] 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\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] 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\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612595,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612595} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612595,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] 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\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612594} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612594,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] 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\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] 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\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612594,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612594} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612594,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] 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\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612593} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612593,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612593,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612593} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612593,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612592} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612592,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] 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\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612592,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612592} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612592,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] 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\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612591} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612591,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] 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\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612591,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612591} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612591,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612590} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612590,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612590,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612590} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612590,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612589} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612589,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612589,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612589} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612589,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612588} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612588,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612588,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612588} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612588,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":16.99,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:02] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612587} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612587,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612587,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612587} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612587,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612586} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612586,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612586,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612586} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612586,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612585} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612585,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] 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\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] 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\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612585,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612585} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612585,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] 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\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612584} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612584,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:05] 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\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] 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\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612584,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612584} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612584,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] 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\":\"9e046bb0-fe09-4981-90d8-9e4e1a2d9821\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612583} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612583,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:06] 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\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] 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\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612583,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612583} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612583,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:08] 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\":\"4bb39316-5956-491d-9643-e85e3a2d2295\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612582} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612582,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] 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\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] 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\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612582,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612582} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:09] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612582,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:10] 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\":\"233ce7c6-8ba8-4646-b04e-55dc11e56023\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612581} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612581,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] 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\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":4.14,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:11] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:11] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:12] 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\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:12] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612581,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:12] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612581} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:12] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612581,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:12] 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\":\"225d184a-6550-4e96-b55f-b2f6affc3f72\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612565} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612565,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] 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\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:create\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"feff8215-75fe-40b2-916e-951435e048aa\",\"trace_id\":\"46d069ed-7c2b-4fdc-9679-9ec571a88271\"}\n[2026-05-11 11:18:15] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] 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\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612565,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612565} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:15] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612565,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:16] 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\":\"b86ac27b-8e79-4924-8480-832bda0a162c\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:16] local.INFO: [EmailSchedule] STARTING batch create {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"feff8215-75fe-40b2-916e-951435e048aa\",\"trace_id\":\"46d069ed-7c2b-4fdc-9679-9ec571a88271\"}\n[2026-05-11 11:18:16] 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\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:16] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612563} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:16] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612563,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:16] 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\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] 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\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":206} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":244,\"contact_id\":4487} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":350} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:17] local.INFO: [EmailSchedule] FINISHED batch create {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"feff8215-75fe-40b2-916e-951435e048aa\",\"trace_id\":\"46d069ed-7c2b-4fdc-9679-9ec571a88271\"}\n[2026-05-11 11:18:18] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"mailbox:batch:create\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"feff8215-75fe-40b2-916e-951435e048aa\",\"trace_id\":\"46d069ed-7c2b-4fdc-9679-9ec571a88271\"}\n[2026-05-11 11:18:18] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:19] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612563,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:19] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612563} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:19] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612563,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:19] 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\":\"8e17d06e-8ffc-4d65-80f6-6b11aa27d46e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:19] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":3.06,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:19] local.INFO: [Jiminny\\Jobs\\Mailbox\\CreateBatches] processed 2 inboxes and created 0 batches {\"userId\":null,\"batchSize\":30,\"maxBatches\":1000} {\"correlation_id\":\"5a640073-717d-40da-ad67-be02e37c56a2\",\"trace_id\":\"46d069ed-7c2b-4fdc-9679-9ec571a88271\"}\n[2026-05-11 11:18:20] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612562} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612562,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:20] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:21] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:21] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:21] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:22] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"447782589921@txt.staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:22] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:22] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:22] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:22] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:22] 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.32,\"average_seconds_per_request\":0.32} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612562,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612562} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612562,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] 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\":\"dd25d3ff-8533-4fac-bf1d-a0656234ea85\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612561} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612561,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] 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\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:23] 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\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\"} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612561,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612561} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612561,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"726b3674-684a-493a-8b19-6872339717d0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612560} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612560,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"447782589921@txt.staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612560,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612560} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612560,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:24] 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\":\"028beef2-7b15-4dd5-80e0-0629fd918aaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":1.89,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:26] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612559} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612559,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] 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\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] 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\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":69,\"contact_id\":97,\"owner_id\":206} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":69,\"contact_id\":97} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":69,\"contact_id\":97,\"opportunity_id\":5011} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612559,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612559} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612559,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:26] 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\":\"4e01dc54-b912-46cc-bf4c-c6a0fd5627f0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612558} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612558,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612558,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612558} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612558,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"49d539c3-0bf6-4b41-a98a-fbca0ca960cd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612557} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612557,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612557,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612557} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612557,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"d6767fbf-b735-4480-843b-1d9d574b133d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612556} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612556,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612556,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612556} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612556,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:27] 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\":\"04fa4b73-a2e0-4804-8722-18bdec56afab\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612555} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612555,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612555,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612555} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612555,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"1b1e56f6-7c50-4a00-988b-fcfda312d1c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612554} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612554,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612554,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612554} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612554,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"9ab5fb67-2687-4495-84e5-d9492e1ad9ae\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612553} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612553,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:28] 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\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] 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\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612553,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612553} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612553,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:29] 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\":\"95dabb64-e2cf-4104-9858-8b381c71b4d6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612552} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612552,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612552,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612552} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612552,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"cdcd7a84-bff0-4af9-b585-aa58265b4692\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612551} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612551,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612551,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612551} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612551,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"3e0c6785-d4f6-48e6-a6b2-8289e6764698\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612550} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612550,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612550,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612550} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612550,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"e1db7837-d58d-4bd7-b7e5-f6263da1cf69\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612549} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612549,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612549,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612549} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612549,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"bc7e6057-3b4a-446f-8989-b0c166f4bec0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612365,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612365} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612365,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] 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\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":243,\"contact_id\":4491,\"owner_id\":206} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":243,\"contact_id\":4491} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:30] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":243,\"contact_id\":4491,\"opportunity_id\":276} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612365,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612365} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612365,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"8e7dd343-a500-4f4c-9e6d-55a13cdb2112\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612360,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612360} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612360,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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.29,\"average_seconds_per_request\":0.29} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612360,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612360} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612360,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"21abffc3-5241-4708-b3e0-abd2dd288cde\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612340,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612340} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612340,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:31] 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\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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.34,\"average_seconds_per_request\":0.34} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612340,\"participants_processed\":4,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612340} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612340,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"1b3ea0b3-7411-4358-9981-f09a275a33dd\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.75,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:32] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612339,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612339} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612339,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612339,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612339} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612339,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"9361adaf-f558-47e1-8c17-29624076d6b0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612336,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612336} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612336,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612336,\"participants_processed\":4,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612336} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612336,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"df588253-5bf4-461b-848b-24cdc4f6b9ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612183,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612183} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612183,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":261} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":299} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] 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\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612183,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612183} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612183,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"1a3a820f-a56a-4ab6-a0b0-1a27257889a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612182,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612182} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612182,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612182,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612182} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612182,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"0ddb68fc-c275-46bd-98a1-95de8b8b0f8e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612181,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612181} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612181,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612181,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612181} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612181,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"1a86dfbb-2141-4f4a-940b-43fbd1f8ddf1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612180,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612180} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612180,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612180,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612180} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612180,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:33] 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\":\"4f63b5e4-5027-4921-92f6-5421affdb43f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611455} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611455,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:34] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:35] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:35] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:35] 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.27,\"average_seconds_per_request\":0.27} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611455,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611455} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611455,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] 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\":\"05046735-5c60-4f00-bdf3-b8c4869f818e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611451} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] 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\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] 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\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:36] 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\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:37] 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.25,\"average_seconds_per_request\":0.25} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:37] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:37] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:37] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:37] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:37] 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\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:38] 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.44,\"average_seconds_per_request\":0.44} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] 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\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":3.16,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611451,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611451} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] 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\":\"471d15bb-ac2d-44a9-ad19-7e4dcffe21a5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611087} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611087,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] 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\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] 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\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611087,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611087} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611087,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] 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\":\"57ae5f63-477d-4d91-a9a3-8706092bf1e1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611076} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611076,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] 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\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] 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\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611076,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611076} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611076,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:41] 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\":\"2f7ba226-575b-41a7-a3d7-85c8b1fbe96b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610935} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610935,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610935,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610935} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610935,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"f2e5be67-dc9b-4211-994b-4582b631e128\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610915} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610915,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610915,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610915} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610915,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"b9f7b83f-19d2-4fc2-812d-a9d4dbaa6169\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610900} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610900,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610900,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610900} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610900,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:42] 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\":\"c45e3abe-1c98-4191-89dc-06c37af6a89a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610885} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610885,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610885,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610885} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610885,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":\"71c5715e-33f9-4ac4-a037-3f8d92f9323f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610878} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610878,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610878,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610878} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610878,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:43] 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\":\"981ea94d-43c4-4549-a61a-38c0e6168aa4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610874} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610874,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610874,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610874} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610874,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":\"85e22bcd-46df-43fd-af31-f1fd6ea93304\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610867} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610867,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] 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\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610867,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610867} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610867,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"20f53637-e428-4d97-9c00-77128a6693bf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610764} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610764,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610764,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610764} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610764,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"31fb51e4-214a-4331-9ccb-e88251c31d23\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610617} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610617,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610617,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610617} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610617,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"1195ea0b-ff6f-4868-85b8-00e5910a6ebb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610539} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610539,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610539,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610539} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610539,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] 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\":\"a12553b5-487b-4fe5-9f92-b4f1ea60e934\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:45] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.4,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:46] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610528} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610528,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610528,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610528} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610528,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"2cbcee52-8293-4463-b697-38db65d9f9c0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610506} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610506,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610506,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610506} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610506,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"ef47bda9-11c9-43e9-9486-e279b2651ddf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610497} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610497,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610497,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610497} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610497,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"5c552582-cc35-429e-a270-3c590292f4d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610490} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610490,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] 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\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:46] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610490,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610490} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610490,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"1d9665e5-1818-48ff-9e74-77325bc59987\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610470} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610470,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610470,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610470} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610470,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"d7791858-9c04-4d8c-9509-dd01f1eae66b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610462} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610462,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610462,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610462} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610462,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"7eda1fd5-8bda-4f9e-94d0-866e72813503\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610451} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610451,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610451} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"13f3d6e6-73ba-4280-ae4d-1687fc9104d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610438} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610438,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610438,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610438} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610438,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"107b5e13-81e1-4cb5-b64e-174334224d3a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610426} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610426,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:47] 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\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610426,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610426} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610426,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"f048c662-0e8e-4156-905b-0e237663e017\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610403} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610403,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610403,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610403} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610403,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"0bf21e74-7810-4594-8fa0-ac9df6a5b1c4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610400} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610400,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":1460} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":244,\"contact_id\":4487} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":350} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610400,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610400} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610400,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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\":\"ddac2edc-3725-4efd-b520-337c200e17d2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:48] 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}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] 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}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18: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\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:48] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18: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.51,\"average_seconds_per_request\":0.51} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:49] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:49] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:49] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:49] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18: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}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:49] 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.35,\"average_seconds_per_request\":0.35} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:50] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":614382,\"team_id\":2,\"email\":\"nikolay.nikolov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:50] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614382,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:50] 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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"adc1eae9-d4cb-481e-922f-179bac5a8934\"}\n[2026-05-11 11:18:50] 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}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] 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}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":614381,\"team_id\":2,\"email\":\"nikolay.nikolov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614381,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] 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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"7fad664c-6cfc-402b-adac-89a4c8c5f4d1\"}\n[2026-05-11 11:18:50] 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}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] 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}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18: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\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":615092,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18: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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8e4b7ef5-6a2b-4f08-8a0d-528e39fe7930\"}\n[2026-05-11 11:18: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}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18: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}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18: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\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614436,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18: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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"8df9c375-43bc-41b1-a457-36d722a98ea1\"}\n[2026-05-11 11:18:50] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":614378,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":6167,\"account_id\":null,\"opportunity_id\":null,\"stage_id\":null}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:50] 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\":6167,\"lead_id\":null},{\"id\":1002625,\"user_id\":89,\"contact_id\":null,\"lead_id\":null}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nmalchev@gmail.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18: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\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614378,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18: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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"d586f923-bac1-482b-a699-2c7c262dee65\"}\n[2026-05-11 11:18:51] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612847,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612847,\"participants\":[{\"id\":1000130,\"user_id\":null,\"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}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.84,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:51] 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\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:51] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:52] 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.28,\"average_seconds_per_request\":0.28} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:52] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"adelina.petrova@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:52] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:52] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:52] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:52] 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}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:53] 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.43,\"average_seconds_per_request\":0.43} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:53] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612847,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:53] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:53] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612847,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18: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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"2dfb95b0-e84e-4956-8d2c-59d97cc1a442\"}\n[2026-05-11 11:18:54] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612819,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18: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\":null,\"contact_id\":null,\"lead_id\":null}]} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18: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\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"adelina.petrova@jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612819,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18: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} {\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\",\"correlation_id\":\"da5b27d2-94da-4c45-a312-1c293b8ad38d\"}\n[2026-05-11 11:18:57] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.25,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:19:07] 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\":\"70d16739-7654-4185-99cb-49559aafc660\",\"trace_id\":\"d100f21a-5975-471a-b245-90b25b177c8f\"}\n[2026-05-11 11:19:07] local.INFO: [ScheduleBotCommand] Number of activities to be captured: 0 {\"correlation_id\":\"70d16739-7654-4185-99cb-49559aafc660\",\"trace_id\":\"d100f21a-5975-471a-b245-90b25b177c8f\"}\n[2026-05-11 11:19:07] 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\":\"70d16739-7654-4185-99cb-49559aafc660\",\"trace_id\":\"d100f21a-5975-471a-b245-90b25b177c8f\"}\n[2026-05-11 11:19:12] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"dialers:monitor-activities\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"91df8068-6c15-4614-947e-90f48574662c\",\"trace_id\":\"a9a86198-7521-4c0c-a89e-d23b34f2f8bf\"}\n[2026-05-11 11:19:12] 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\":\"91df8068-6c15-4614-947e-90f48574662c\",\"trace_id\":\"a9a86198-7521-4c0c-a89e-d23b34f2f8bf\"}\n[2026-05-11 11:19:15] local.NOTICE: Monitoring start {\"correlation_id\":\"6fae005c-3fcd-4718-86b0-f08f140f889c\",\"trace_id\":\"233ad400-a3ad-4093-8660-9e477cd6ca8f\"}\n[2026-05-11 11:19:15] local.NOTICE: Monitoring end {\"correlation_id\":\"6fae005c-3fcd-4718-86b0-f08f140f889c\",\"trace_id\":\"233ad400-a3ad-4093-8660-9e477cd6ca8f\"}\n[2026-05-11 11:19:18] 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\":\"08b79017-e665-425f-8048-21f93b1abf3b\",\"trace_id\":\"bb7a7ea5-30d3-4a13-9c3c-84bc1f9c26e7\"}\n[2026-05-11 11:19:18] 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\":\"08b79017-e665-425f-8048-21f93b1abf3b\",\"trace_id\":\"bb7a7ea5-30d3-4a13-9c3c-84bc1f9c26e7\"}\n[2026-05-11 11:19:21] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:process\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"0c31163b-b05f-4d3f-9a66-a2ce01d94010\",\"trace_id\":\"3dfb6352-28a3-4c77-b6ff-a11e0a7821a0\"}\n[2026-05-11 11:19:21] local.INFO: [EmailSchedule] STARTING batch process {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"0c31163b-b05f-4d3f-9a66-a2ce01d94010\",\"trace_id\":\"3dfb6352-28a3-4c77-b6ff-a11e0a7821a0\"}\n[2026-05-11 11:19:22] local.INFO: [EmailSchedule] FINISHED batch process {\"host\":\"docker_lamp_1\",\"processed\":0} {\"correlation_id\":\"0c31163b-b05f-4d3f-9a66-a2ce01d94010\",\"trace_id\":\"3dfb6352-28a3-4c77-b6ff-a11e0a7821a0\"}\n[2026-05-11 11:19:22] 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\":\"0c31163b-b05f-4d3f-9a66-a2ce01d94010\",\"trace_id\":\"3dfb6352-28a3-4c77-b6ff-a11e0a7821a0\"}\n[2026-05-11 11:20:08] 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\":\"cb3a4a64-b00b-4f94-9e00-c190cd7a7a42\",\"trace_id\":\"acd43b75-f255-471f-9563-f03de03c7e23\"}\n[2026-05-11 11:20:08] local.INFO: [ScheduleBotCommand] Number of activities to be captured: 0 {\"correlation_id\":\"cb3a4a64-b00b-4f94-9e00-c190cd7a7a42\",\"trace_id\":\"acd43b75-f255-471f-9563-f03de03c7e23\"}\n[2026-05-11 11:20:08] 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\":\"cb3a4a64-b00b-4f94-9e00-c190cd7a7a42\",\"trace_id\":\"acd43b75-f255-471f-9563-f03de03c7e23\"}\n[2026-05-11 11:20:10] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"dialers:monitor-activities\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"8ab6728e-9079-4166-bf97-fed4fb2ac7de\",\"trace_id\":\"508ecd6c-81db-47d4-8fad-d40b1e55cff3\"}\n[2026-05-11 11:20:10] 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\":\"8ab6728e-9079-4166-bf97-fed4fb2ac7de\",\"trace_id\":\"508ecd6c-81db-47d4-8fad-d40b1e55cff3\"}\n[2026-05-11 11:20:13] local.NOTICE: Monitoring start {\"correlation_id\":\"98b2a767-ff2a-4f82-866f-bf7dad58fe13\",\"trace_id\":\"ecb25ade-8dda-4d47-8bce-6b84e3c8fd0c\"}\n[2026-05-11 11:20:13] local.NOTICE: Monitoring end {\"correlation_id\":\"98b2a767-ff2a-4f82-866f-bf7dad58fe13\",\"trace_id\":\"ecb25ade-8dda-4d47-8bce-6b84e3c8fd0c\"}\n[2026-05-11 11:20:15] 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\":\"05f19e62-48e4-4c36-9577-648a2dd54abd\",\"trace_id\":\"e3d3acd1-5c23-4f37-9566-32a0cbd7a4eb\"}\n[2026-05-11 11:20:16] 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\":\"05f19e62-48e4-4c36-9577-648a2dd54abd\",\"trace_id\":\"e3d3acd1-5c23-4f37-9566-32a0cbd7a4eb\"}\n[2026-05-11 11:20:18] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:process\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"d5c19bc5-1a17-4b6d-9f62-a6715a8005c9\",\"trace_id\":\"451385cf-1bcd-4e06-8412-e5d197f5f567\"}\n[2026-05-11 11:20:18] local.INFO: [EmailSchedule] STARTING batch process {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"d5c19bc5-1a17-4b6d-9f62-a6715a8005c9\",\"trace_id\":\"451385cf-1bcd-4e06-8412-e5d197f5f567\"}\n[2026-05-11 11:20:18] local.INFO: [EmailSchedule] FINISHED batch process {\"host\":\"docker_lamp_1\",\"processed\":0} {\"correlation_id\":\"d5c19bc5-1a17-4b6d-9f62-a6715a8005c9\",\"trace_id\":\"451385cf-1bcd-4e06-8412-e5d197f5f567\"}\n[2026-05-11 11:20:18] 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\":\"d5c19bc5-1a17-4b6d-9f62-a6715a8005c9\",\"trace_id\":\"451385cf-1bcd-4e06-8412-e5d197f5f567\"}\n[2026-05-11 11:20:23] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:monitor:count\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"a01c4c40-1c1e-4865-be1f-0aa63b4fd1b9\",\"trace_id\":\"cba182ec-cbe6-4d53-b1c6-253546138cc8\"}\n[2026-05-11 11:20:23] local.INFO: Running conference:monitor:count command for activities in (2026-05-11 11:18:00, 2026-05-11 11:20:00] {\"correlation_id\":\"a01c4c40-1c1e-4865-be1f-0aa63b4fd1b9\",\"trace_id\":\"cba182ec-cbe6-4d53-b1c6-253546138cc8\"}\n[2026-05-11 11:20:23] local.INFO: [conference:monitor:count] No activities found in (2026-05-11 11:18:00, 2026-05-11 11:20:00] {\"correlation_id\":\"a01c4c40-1c1e-4865-be1f-0aa63b4fd1b9\",\"trace_id\":\"cba182ec-cbe6-4d53-b1c6-253546138cc8\"}\n[2026-05-11 11:20:23] 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\":\"a01c4c40-1c1e-4865-be1f-0aa63b4fd1b9\",\"trace_id\":\"cba182ec-cbe6-4d53-b1c6-253546138cc8\"}\n[2026-05-11 11:20:25] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"activity:purge-stale\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"b599f338-6a44-44d5-9f81-6fa300c4ea1b\",\"trace_id\":\"c7645418-4758-4410-83f2-8fe71ebf2ec2\"}\n[2026-05-11 11:20:25] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"activity:purge-stale\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"b599f338-6a44-44d5-9f81-6fa300c4ea1b\",\"trace_id\":\"c7645418-4758-4410-83f2-8fe71ebf2ec2\"}\n[2026-05-11 11:20:28] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:text-relay:sync\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"3c9d7674-d005-4372-8a60-2e8ecb587584\",\"trace_id\":\"22a0bdee-d653-4113-963c-043a68a4a8be\"}\n[2026-05-11 11:20:29] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"mailbox:text-relay:sync\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"3c9d7674-d005-4372-8a60-2e8ecb587584\",\"trace_id\":\"22a0bdee-d653-4113-963c-043a68a4a8be\"}\n[2026-05-11 11:20:31] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:pre-meeting-notification\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"1453203b-bac8-47ba-ac62-6369ac533fc2\",\"trace_id\":\"f176800e-9da8-4580-a332-56fa3402dbb7\"}\n[2026-05-11 11:20:31] local.INFO: Running pre-meeting notification command {\"correlation_id\":\"1453203b-bac8-47ba-ac62-6369ac533fc2\",\"trace_id\":\"f176800e-9da8-4580-a332-56fa3402dbb7\"}\n[2026-05-11 11:20:31] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"conference:pre-meeting-notification\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"1453203b-bac8-47ba-ac62-6369ac533fc2\",\"trace_id\":\"f176800e-9da8-4580-a332-56fa3402dbb7\"}\n[2026-05-11 11:20:33] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:monitor:start\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"2310f110-1f7e-4a28-b0c3-e5f8fc72688f\",\"trace_id\":\"9d6e8217-2f4e-4b23-8f36-8538f57064d9\"}\n[2026-05-11 11:20:33] local.INFO: Running conference:monitor:start command for activities in (2026-05-11 11:10:00, 2026-05-11 11:15:00] {\"correlation_id\":\"2310f110-1f7e-4a28-b0c3-e5f8fc72688f\",\"trace_id\":\"9d6e8217-2f4e-4b23-8f36-8538f57064d9\"}\n[2026-05-11 11:20:33] local.INFO: [conference:monitor:start] No activities found in (2026-05-11 11:10:00, 2026-05-11 11:15:00] {\"correlation_id\":\"2310f110-1f7e-4a28-b0c3-e5f8fc72688f\",\"trace_id\":\"9d6e8217-2f4e-4b23-8f36-8538f57064d9\"}\n[2026-05-11 11:20:33] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"conference:monitor:start\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"2310f110-1f7e-4a28-b0c3-e5f8fc72688f\",\"trace_id\":\"9d6e8217-2f4e-4b23-8f36-8538f57064d9\"}\n[2026-05-11 11:20:37] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:monitor:end\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"48a2dc23-76e1-4b34-b8a7-a7a957c71373\",\"trace_id\":\"b1788ca3-54cf-4031-b198-102838446996\"}\n[2026-05-11 11:20:37] local.INFO: conference:monitor:end:Jiminny\\Console\\Commands\\Activities\\MonitorMeetingEndCommand::logActivitiesEnded {\"from\":\"11:15\",\"to\":\"11:20\"} {\"correlation_id\":\"48a2dc23-76e1-4b34-b8a7-a7a957c71373\",\"trace_id\":\"b1788ca3-54cf-4031-b198-102838446996\"}\n[2026-05-11 11:20:38] local.INFO: conference:monitor:end:Jiminny\\Console\\Commands\\Activities\\MonitorMeetingEndCommand::logActivitiesWithUnfinishedSession {\"from\":\"01:10\",\"to\":\"01:15\"} {\"correlation_id\":\"48a2dc23-76e1-4b34-b8a7-a7a957c71373\",\"trace_id\":\"b1788ca3-54cf-4031-b198-102838446996\"}\n[2026-05-11 11:20:38] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"conference:monitor:end\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"48a2dc23-76e1-4b34-b8a7-a7a957c71373\",\"trace_id\":\"b1788ca3-54cf-4031-b198-102838446996\"}\n[2026-05-11 11:20:41] local.NOTICE: Repairing HubSpot tokens start {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: Trying to refresh HubSpot token {\"account_id\":59,\"updated_at\":\"2025-10-03 09:32:05\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: [SocialAccountService] Refreshing token from provider {\"socialAccountId\":59,\"provider\":\"hubspot\",\"refreshToken\":\"97b78f6e2cc49965c00c2492b602b02708b1392551e6b3f113fbaa48992af90b\",\"state\":\"full-refresh\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.ERROR: Failed to refresh HubSpot token {\"account_id\":59,\"updated_at\":\"2025-10-03 09:32:05\",\"reason\":\"missing or invalid refresh token\",\"previous\":\"\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: Trying to refresh HubSpot token {\"account_id\":306,\"updated_at\":\"2023-11-27 09:30:03\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: [SocialAccountService] Refreshing token from provider {\"socialAccountId\":306,\"provider\":\"hubspot\",\"refreshToken\":\"6fa6aa8cc641d131231acc3470f5c03cb3b07b2e580fb18f8acb3b1dbb72549b\",\"state\":\"full-refresh\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.ERROR: Failed to refresh HubSpot token {\"account_id\":306,\"updated_at\":\"2023-11-27 09:30:03\",\"reason\":\"missing or invalid refresh token\",\"previous\":\"\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: Trying to refresh HubSpot token {\"account_id\":1372,\"updated_at\":\"2025-10-02 14:47:06\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:42] local.INFO: [SocialAccountService] Refreshing token from provider {\"socialAccountId\":1372,\"provider\":\"hubspot\",\"refreshToken\":\"9aa73948c761da29dce46c177cf9aee1fde483a44169ca38723f9f0597d7a8c4\",\"state\":\"full-refresh\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:43] local.ERROR: Failed to refresh HubSpot token {\"account_id\":1372,\"updated_at\":\"2025-10-02 14:47:06\",\"reason\":\"missing or invalid refresh token\",\"previous\":\"\"} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:43] local.NOTICE: Repairing HubSpot tokens end {\"total\":3,\"fixed\":0,\"failed\":3} {\"correlation_id\":\"cb985c75-d47d-45c5-a37a-f6f0c95026fd\",\"trace_id\":\"bde7c5d1-1c73-488b-a11c-a2c8701ef310\"}\n[2026-05-11 11:20:48] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"jiminny:transcription:retry-failed\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"28cf48be-a629-420c-a0a4-0d20fbd05838\",\"trace_id\":\"4fdaba19-5d8e-45db-a600-da048c8066fb\"}\n[2026-05-11 11:20:48] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:pre-meeting-reminder\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"6a6c06af-94cf-46bf-976e-55e401b3a588\",\"trace_id\":\"338c3b84-fc5a-404b-bed6-97341331ae68\"}\n[2026-05-11 11:20:48] local.INFO: [HubSpot Journal Command] Starting polling service {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:48] local.INFO: [HubSpot Journal Polling] Service starting {\"memory_limit\":\"256M\",\"max_execution_time\":\"0\",\"initial_memory_mb\":60.0} {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:48] local.INFO: [HubSpot Journal Polling] Acquired polling lock {\"expires_at\":\"2026-05-11T11:22:48.807561Z\"} {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:48] local.INFO: [HubSpot Journal Auth] Requesting new client credentials token {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:48] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"jiminny:transcription:retry-failed\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"28cf48be-a629-420c-a0a4-0d20fbd05838\",\"trace_id\":\"4fdaba19-5d8e-45db-a600-da048c8066fb\"}\n[2026-05-11 11:20:49] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"conference:pre-meeting-reminder\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"6a6c06af-94cf-46bf-976e-55e401b3a588\",\"trace_id\":\"338c3b84-fc5a-404b-bed6-97341331ae68\"}\n[2026-05-11 11:20:49] local.INFO: [HubSpot Journal Auth] Successfully obtained new access token {\"expires_in\":1800,\"cached_for\":1500} {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:49] local.INFO: [HubSpot Journal Polling] No data {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:53] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"crm:reset-governor\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"c8d52370-b908-428c-b973-699db0be2136\",\"trace_id\":\"fabc1f54-e263-4ba0-b8ff-324f62e84f1f\"}\n[2026-05-11 11:20:53] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"crm:reset-governor\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"c8d52370-b908-428c-b973-699db0be2136\",\"trace_id\":\"fabc1f54-e263-4ba0-b8ff-324f62e84f1f\"}\n[2026-05-11 11:20:54] local.INFO: [HubSpot Journal Polling] No data {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}\n[2026-05-11 11:20:56] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"crm:bullhorn:ping\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"de84a4c9-d2c5-4950-8c2d-f400cee667bf\",\"trace_id\":\"223fd9b2-ed24-4083-98cd-1bc4040dbbd1\"}\n[2026-05-11 11:20:57] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"crm:bullhorn:ping\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"de84a4c9-d2c5-4950-8c2d-f400cee667bf\",\"trace_id\":\"223fd9b2-ed24-4083-98cd-1bc4040dbbd1\"}\n[2026-05-11 11:20:59] local.INFO: [HubSpot Journal Polling] No data {\"correlation_id\":\"954d156d-8a4f-4592-a046-e16c5dd7d3bf\",\"trace_id\":\"ecc7aeb5-a4e6-4a0d-9ebd-4aeb260f5d55\"}","role_description":"text entry area","is_enabled":true,"is_focused":false,"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}]...
|
3313799739692082153
|
6378616412482181476
|
idle
|
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
2
67
3
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Services\Crm\Hubspot;
use HubSpot\Client\Crm\Deals\ApiException as DealApiException;
use HubSpot\Client\Crm\Contacts\ApiException as ContactApiException;
use HubSpot\Client\Crm\Companies\ApiException as CompanyApiException;
use HubSpot\Client\Crm\Contacts\Model\SimplePublicObjectWithAssociations as ContactsWithAssociations;
use HubSpot\Client\Crm\Companies\Model\SimplePublicObjectWithAssociations as CompaniesWithAssociations;
use HubSpot\Client\Crm\Deals\Model\SimplePublicObjectWithAssociations as DealWithAssociations;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectInput;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectWithAssociations as ObjectWithAssociations;
use HubSpot\Client\Crm\Pipelines\Model\Error;
use HubSpot\Client\Crm\Pipelines\Model\PipelineStage;
use HubSpot\Client\Crm\Properties\Model\Property;
use HubSpot\Discovery\Discovery;
use Jiminny\Exceptions\CrmException;
use Jiminny\Exceptions\RateLimitException;
use Jiminny\Exceptions\SocialAccountTokenInvalidException;
use Jiminny\Jobs\Crm\NoteObject;
use Jiminny\Models\Crm\Field;
use Jiminny\Services\Crm\BaseClient;
use Jiminny\Services\Crm\Hubspot\DTO\Response\Owner;
use Jiminny\Services\SocialAccountService;
use SevenShores\Hubspot\Exceptions\BadRequest;
use SevenShores\Hubspot\Exceptions\HubspotException;
use SevenShores\Hubspot\Factory;
use SevenShores\Hubspot\Http\Response;
use Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService;
use Illuminate\Support\Facades\Redis;
use Throwable;
/**
* @phpstan-type 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)
{
$cacheKey = $this->getRateLimitCacheKey();
$cachedRetryAfter = Redis::get($cacheKey);
if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {
throw new RateLimitException(
'Hubspot rate limit (cached circuit-breaker)',
(int) $cachedRetryAfter,
);
}
try {
return $apiCall();
} catch (Throwable $e) {
if ($this->isHubspotRateLimit($e)) {
$retryAfter = $this->parseRetryAfter($e);
Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);
$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 getRateLimitCacheKey(): string
{
return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());
}
public function isHubspotRateLimit(Throwable $e): bool
{
if ($e instanceof BadRequest
|| $e instanceof DealApiException
|| $e instanceof ContactApiException
|| $e instanceof CompanyApiException
|| $e instanceof \GuzzleHttp\Exception\RequestException
) {
return (int) $e->getCode() === 429;
}
return false;
}
public 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;
}
}
$message = strtolower($e->getMessage());
if (str_contains($message, 'daily')) {
return 600;
}
if (str_contains($message, 'ten secondly')) {
return 10;
}
if (str_contains($message, 'secondly')) {
return 1;
}
$this->log->warning('[Hubspot] No retry-after header or known message, using default', [
'exception_class' => get_class($e),
'message' => $message,
]);
return 10;
}
public function parseMessage(Throwable $e): string
{
if (! method_exists($e, 'getResponseBody')) {
return '';
}
$body = $e->getResponseBody();
if (is_string($body)) {
$body = json_decode($body, true) ?? [];
}
if (! is_array($body)) {
return '';
}
return (string) ($body['message'] ?? '');
}
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
);
}
/**
* Execute a search request against HubSpot CRM objects with rate limiting.
*
* @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')
* @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.
* @return array The search response with 'results', 'total', 'paging' keys
* @throws RateLimitException When rate limit is hit
* @throws HubspotException On API errors
*/
public function search(string $objectType, array $payload): array
{
$endpoint = self::BASE_URL . "/crm/v3/objects/{$objectType}/search";
return $this->executeRequest(function () use ($endpoint, $payload) {
$response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);
return $response->toArray();
});
}
/**
* @throws DealApiException
* @throws CrmException
*/
public function getOpportunityById(string $crmId, array $fields): array
{
try {
$deal = $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') {
return $this->getInstance()->getClient()?->request(
method: $method,
endpoint: $endpoint,
query_string: $queryString
);
} else {
return $this->getInstance()->getClient()->request($method, $endpoint, [
'json' => ($payload),
]);
}
}
/**
* @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 (RateLimitException $e) {
// throw $e;
} 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);
}
}
Show Replace Field
Search History
429
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
23/38
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Sync Changes
Hide This Notification
Code changed:
Hide
[2026-05-11 11:17:21] local.NOTICE: Monitoring start {"correlation_id":"885fde59-3852-4120-a620-af3da7ecce17","trace_id":"4cc10f53-5d39-418d-8e98-fe53d9bbff5f"}
[2026-05-11 11:17:21] local.NOTICE: Monitoring end {"correlation_id":"885fde59-3852-4120-a620-af3da7ecce17","trace_id":"4cc10f53-5d39-418d-8e98-fe53d9bbff5f"}
[2026-05-11 11:17:34] 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":"a773fb28-5a0c-4b8f-a1b5-d57e6b81db90","trace_id":"fb6d8028-db7d-4ef2-b175-740f0a7b8b39"}
[2026-05-11 11:17:35] 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":"a773fb28-5a0c-4b8f-a1b5-d57e6b81db90","trace_id":"fb6d8028-db7d-4ef2-b175-740f0a7b8b39"}
[2026-05-11 11:17:37] 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":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":615092} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":615092,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] 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":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [Prospect match] Cache miss, calling the API {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] 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":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.WARNING: [Hubspot] Received 429 from API {"team_id":2,"config_id":2,"retry_after":1,"reason":"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\":\"019e16c1-c (truncated...)
"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":1,"delay":4} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] 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":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614436} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614436,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] 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":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":1,"delay":3} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] 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":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614382} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614382,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] 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":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":1,"delay":1} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] 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":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614381} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614381,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] 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":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.WARNING: [Hubspot] Received 429 from API {"team_id":2,"config_id":2,"retry_after":1,"reason":"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\":\"019e16c1-c (truncated...)
"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":1,"delay":2} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [MatchActivityCrmData] Starting CRM data matching {"activity":614378,"remote_search":true,"set_configuration":2,"old_state":{"lead_id":null,"contact_id":6167,"account_id":null,"opportunity_id":null,"stage_id":null}} {"correlation_id":"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activit...
|
18471
|
NULL
|
NULL
|
NULL
|
|
18452
|
NULL
|
0
|
2026-05-11T11:18:51.243170+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778498331243_m1.jpg...
|
PhpStorm
|
faVsco.js – laravel.log
|
1
|
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
2
67
3
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Services\Crm\Hubspot;
use HubSpot\Client\Crm\Deals\ApiException as DealApiException;
use HubSpot\Client\Crm\Contacts\ApiException as ContactApiException;
use HubSpot\Client\Crm\Companies\ApiException as CompanyApiException;
use HubSpot\Client\Crm\Contacts\Model\SimplePublicObjectWithAssociations as ContactsWithAssociations;
use HubSpot\Client\Crm\Companies\Model\SimplePublicObjectWithAssociations as CompaniesWithAssociations;
use HubSpot\Client\Crm\Deals\Model\SimplePublicObjectWithAssociations as DealWithAssociations;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectInput;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectWithAssociations as ObjectWithAssociations;
use HubSpot\Client\Crm\Pipelines\Model\Error;
use HubSpot\Client\Crm\Pipelines\Model\PipelineStage;
use HubSpot\Client\Crm\Properties\Model\Property;
use HubSpot\Discovery\Discovery;
use Jiminny\Exceptions\CrmException;
use Jiminny\Exceptions\RateLimitException;
use Jiminny\Exceptions\SocialAccountTokenInvalidException;
use Jiminny\Jobs\Crm\NoteObject;
use Jiminny\Models\Crm\Field;
use Jiminny\Services\Crm\BaseClient;
use Jiminny\Services\Crm\Hubspot\DTO\Response\Owner;
use Jiminny\Services\SocialAccountService;
use SevenShores\Hubspot\Exceptions\BadRequest;
use SevenShores\Hubspot\Exceptions\HubspotException;
use SevenShores\Hubspot\Factory;
use SevenShores\Hubspot\Http\Response;
use Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService;
use Illuminate\Support\Facades\Redis;
use Throwable;
/**
* @phpstan-type 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)
{
$cacheKey = $this->getRateLimitCacheKey();
$cachedRetryAfter = Redis::get($cacheKey);
if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {
throw new RateLimitException(
'Hubspot rate limit (cached circuit-breaker)',
(int) $cachedRetryAfter,
);
}
try {
return $apiCall();
} catch (Throwable $e) {
if ($this->isHubspotRateLimit($e)) {
$retryAfter = $this->parseRetryAfter($e);
Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);
$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 getRateLimitCacheKey(): string
{
return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());
}
public function isHubspotRateLimit(Throwable $e): bool
{
if ($e instanceof BadRequest
|| $e instanceof DealApiException
|| $e instanceof ContactApiException
|| $e instanceof CompanyApiException
|| $e instanceof \GuzzleHttp\Exception\RequestException
) {
return (int) $e->getCode() === 429;
}
return false;
}
public 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;
}
}
$message = strtolower($e->getMessage());
if (str_contains($message, 'daily')) {
return 600;
}
if (str_contains($message, 'ten secondly')) {
return 10;
}
if (str_contains($message, 'secondly')) {
return 1;
}
$this->log->warning('[Hubspot] No retry-after header or known message, using default', [
'exception_class' => get_class($e),
'message' => $message,
]);
return 10;
}
public function parseMessage(Throwable $e): string
{
if (! method_exists($e, 'getResponseBody')) {
return '';
}
$body = $e->getResponseBody();
if (is_string($body)) {
$body = json_decode($body, true) ?? [];
}
if (! is_array($body)) {
return '';
}
return (string) ($body['message'] ?? '');
}
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
);
}
/**
* Execute a search request against HubSpot CRM objects with rate limiting.
*
* @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')
* @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.
* @return array The search response with 'results', 'total', 'paging' keys
* @throws RateLimitException When rate limit is hit
* @throws HubspotException On API errors
*/
public function search(string $objectType, array $payload): array
{
$endpoint = self::BASE_URL . "/crm/v3/objects/{$objectType}/search";
return $this->executeRequest(function () use ($endpoint, $payload) {
$response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);
return $response->toArray();
});
}
/**
* @throws DealApiException
* @throws CrmException
*/
public function getOpportunityById(string $crmId, array $fields): array
{
try {
$deal = $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') {
return $this->getInstance()->getClient()?->request(
method: $method,
endpoint: $endpoint,
query_string: $queryString
);
} else {
return $this->getInstance()->getClient()->request($method, $endpoint, [
'json' => ($payload),
]);
}
}
/**
* @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 (RateLimitException $e) {
// throw $e;
} 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);
}
}
Show Replace Field
Search History
429
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/22
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Sync Changes
Hide This Notification
Code changed:
Hide
39
Previous Highlighted Error
Next Highlighted Error
[2026-05-11 11:17:21] local.NOTICE: Monitoring start {"correlation_id":"885fde59-3852-4120-a620-af3da7ecce17","trace_id":"4cc10f53-5d39-418d-8e98-fe53d9bbff5f"}
[2026-05-11 11:17:21] local.NOTICE: Monitoring end {"correlation_id":"885fde59-3852-4120-a620-af3da7ecce17","trace_id":"4cc10f53-5d39-418d-8e98-fe53d9bbff5f"}
[2026-05-11 11:17:34] 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":"a773fb28-5a0c-4b8f-a1b5-d57e6b81db90","trace_id":"fb6d8028-db7d-4ef2-b175-740f0a7b8b39"}
[2026-05-11 11:17:35] 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":"a773fb28-5a0c-4b8f-a1b5-d57e6b81db90","trace_id":"fb6d8028-db7d-4ef2-b175-740f0a7b8b39"}
[2026-05-11 11:17:37] 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":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":615092} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":615092,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] 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":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [Prospect match] Cache miss, calling the API {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] 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":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.WARNING: [Hubspot] Received 429 from API {"team_id":2,"config_id":2,"retry_after":1,"reason":"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\":\"019e16c1-c (truncated...)
"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":1,"delay":4} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] 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":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614436} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614436,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] 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":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":1,"delay":3} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] 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":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614382} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614382,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] 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":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":1,"delay":1} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] 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":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614381} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614381,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] 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":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.WARNING: [Hubspot] Received 429 from API {"team_id":2,"config_id":2,"retry_after":1,"reason":"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\":\"019e16c1-c (truncated...)
"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":1,"delay":2} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [MatchActivityCrmData] Starting CRM data matching {"activity":614378,"remote_search":true,"set_configuration":2,"old_state":{"lead_id":null,"contact_id":6167,"account_id":null,"opportunity_id":null,"stage_id":null}} {"correlation_id":"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [ EsUp...
|
[{"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":"2","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"67","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","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\\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\\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 Illuminate\\Support\\Facades\\Redis;\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\n public function __construct(\n SocialAccountService $socialAccountService,\n HubspotPaginationService $paginationService,\n HubspotTokenManager $tokenManager\n ) {\n parent::__construct($socialAccountService);\n $this->paginationService = $paginationService;\n $this->tokenManager = $tokenManager;\n\n $this->setBaseUrl(self::BASE_URL);\n $this->setVersion(self::MIN_API_VERSION);\n }\n\n /**\n * Reacts to a rate limits (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 $cacheKey = $this->getRateLimitCacheKey();\n\n $cachedRetryAfter = Redis::get($cacheKey);\n if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {\n throw new RateLimitException(\n 'Hubspot rate limit (cached circuit-breaker)',\n (int) $cachedRetryAfter,\n );\n }\n\n try {\n return $apiCall();\n } catch (Throwable $e) {\n if ($this->isHubspotRateLimit($e)) {\n $retryAfter = $this->parseRetryAfter($e);\n\n Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);\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 getRateLimitCacheKey(): string\n {\n return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());\n }\n\n public function isHubspotRateLimit(Throwable $e): bool\n {\n if ($e instanceof BadRequest\n || $e instanceof DealApiException\n || $e instanceof ContactApiException\n || $e instanceof CompanyApiException\n || $e instanceof \\GuzzleHttp\\Exception\\RequestException\n ) {\n return (int) $e->getCode() === 429;\n }\n\n return false;\n }\n\n public 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 $message = strtolower($e->getMessage());\n\n if (str_contains($message, 'daily')) {\n return 600;\n }\n if (str_contains($message, 'ten secondly')) {\n return 10;\n }\n if (str_contains($message, 'secondly')) {\n return 1;\n }\n\n $this->log->warning('[Hubspot] No retry-after header or known message, using default', [\n 'exception_class' => get_class($e),\n 'message' => $message,\n ]);\n\n return 10;\n }\n\n public function parseMessage(Throwable $e): string\n {\n if (! method_exists($e, 'getResponseBody')) {\n return '';\n }\n\n $body = $e->getResponseBody();\n if (is_string($body)) {\n $body = json_decode($body, true) ?? [];\n }\n\n if (! is_array($body)) {\n return '';\n }\n\n return (string) ($body['message'] ?? '');\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 * Execute a search request against HubSpot CRM objects with rate limiting.\n *\n * @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')\n * @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.\n * @return array The search response with 'results', 'total', 'paging' keys\n * @throws RateLimitException When rate limit is hit\n * @throws HubspotException On API errors\n */\n public function search(string $objectType, array $payload): array\n {\n $endpoint = self::BASE_URL . \"/crm/v3/objects/{$objectType}/search\";\n\n return $this->executeRequest(function () use ($endpoint, $payload) {\n $response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);\n\n return $response->toArray();\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->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 return $this->getInstance()->getClient()?->request(\n method: $method,\n endpoint: $endpoint,\n query_string: $queryString\n );\n } else {\n return $this->getInstance()->getClient()->request($method, $endpoint, [\n 'json' => ($payload),\n ]);\n }\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 (RateLimitException $e) {\n// throw $e;\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\\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 Illuminate\\Support\\Facades\\Redis;\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\n public function __construct(\n SocialAccountService $socialAccountService,\n HubspotPaginationService $paginationService,\n HubspotTokenManager $tokenManager\n ) {\n parent::__construct($socialAccountService);\n $this->paginationService = $paginationService;\n $this->tokenManager = $tokenManager;\n\n $this->setBaseUrl(self::BASE_URL);\n $this->setVersion(self::MIN_API_VERSION);\n }\n\n /**\n * Reacts to a rate limits (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 $cacheKey = $this->getRateLimitCacheKey();\n\n $cachedRetryAfter = Redis::get($cacheKey);\n if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {\n throw new RateLimitException(\n 'Hubspot rate limit (cached circuit-breaker)',\n (int) $cachedRetryAfter,\n );\n }\n\n try {\n return $apiCall();\n } catch (Throwable $e) {\n if ($this->isHubspotRateLimit($e)) {\n $retryAfter = $this->parseRetryAfter($e);\n\n Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);\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 getRateLimitCacheKey(): string\n {\n return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());\n }\n\n public function isHubspotRateLimit(Throwable $e): bool\n {\n if ($e instanceof BadRequest\n || $e instanceof DealApiException\n || $e instanceof ContactApiException\n || $e instanceof CompanyApiException\n || $e instanceof \\GuzzleHttp\\Exception\\RequestException\n ) {\n return (int) $e->getCode() === 429;\n }\n\n return false;\n }\n\n public 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 $message = strtolower($e->getMessage());\n\n if (str_contains($message, 'daily')) {\n return 600;\n }\n if (str_contains($message, 'ten secondly')) {\n return 10;\n }\n if (str_contains($message, 'secondly')) {\n return 1;\n }\n\n $this->log->warning('[Hubspot] No retry-after header or known message, using default', [\n 'exception_class' => get_class($e),\n 'message' => $message,\n ]);\n\n return 10;\n }\n\n public function parseMessage(Throwable $e): string\n {\n if (! method_exists($e, 'getResponseBody')) {\n return '';\n }\n\n $body = $e->getResponseBody();\n if (is_string($body)) {\n $body = json_decode($body, true) ?? [];\n }\n\n if (! is_array($body)) {\n return '';\n }\n\n return (string) ($body['message'] ?? '');\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 * Execute a search request against HubSpot CRM objects with rate limiting.\n *\n * @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')\n * @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.\n * @return array The search response with 'results', 'total', 'paging' keys\n * @throws RateLimitException When rate limit is hit\n * @throws HubspotException On API errors\n */\n public function search(string $objectType, array $payload): array\n {\n $endpoint = self::BASE_URL . \"/crm/v3/objects/{$objectType}/search\";\n\n return $this->executeRequest(function () use ($endpoint, $payload) {\n $response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);\n\n return $response->toArray();\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->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 return $this->getInstance()->getClient()?->request(\n method: $method,\n endpoint: $endpoint,\n query_string: $queryString\n );\n } else {\n return $this->getInstance()->getClient()->request($method, $endpoint, [\n 'json' => ($payload),\n ]);\n }\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 (RateLimitException $e) {\n// throw $e;\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":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Show Replace Field","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Search History","depth":3,"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"429","depth":4,"on_screen":true,"value":"429","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"New Line","depth":3,"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Match Case","depth":3,"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Words","depth":3,"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Regex","depth":3,"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Replace History","depth":3,"bounds":{"left":0.0,"top":0.0,"width":0.015277778,"height":0.024444444},"on_screen":false,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextField","text":"Replace","depth":4,"on_screen":false,"role_description":"text field","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"New Line","depth":3,"bounds":{"left":0.0,"top":0.0,"width":0.015277778,"height":0.024444444},"on_screen":false,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Preserve case","depth":3,"bounds":{"left":0.0,"top":0.0,"width":0.015277778,"height":0.024444444},"on_screen":false,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"1/22","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Occurrence","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Occurrence","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Filter Search Results","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open in Window, Multiple Cursors","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Click to highlight","depth":4,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","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":"39","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 11:17:21] local.NOTICE: Monitoring start {\"correlation_id\":\"885fde59-3852-4120-a620-af3da7ecce17\",\"trace_id\":\"4cc10f53-5d39-418d-8e98-fe53d9bbff5f\"}\n[2026-05-11 11:17:21] local.NOTICE: Monitoring end {\"correlation_id\":\"885fde59-3852-4120-a620-af3da7ecce17\",\"trace_id\":\"4cc10f53-5d39-418d-8e98-fe53d9bbff5f\"}\n[2026-05-11 11:17:34] 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\":\"a773fb28-5a0c-4b8f-a1b5-d57e6b81db90\",\"trace_id\":\"fb6d8028-db7d-4ef2-b175-740f0a7b8b39\"}\n[2026-05-11 11:17:35] 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\":\"a773fb28-5a0c-4b8f-a1b5-d57e6b81db90\",\"trace_id\":\"fb6d8028-db7d-4ef2-b175-740f0a7b8b39\"}\n[2026-05-11 11:17:37] 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\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] 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\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] 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\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] 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\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":1,\"reason\":\"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\\\":\\\"019e16c1-c (truncated...)\n\"} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":4} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] 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\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] 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\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":3} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] 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\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] 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\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":1} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] 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\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] 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\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":1,\"reason\":\"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\\\":\\\"019e16c1-c (truncated...)\n\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":2} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":614378,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":6167,\"account_id\":null,\"opportunity_id\":null,\"stage_id\":null}} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] 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\":6167,\"lead_id\":null},{\"id\":1002625,\"user_id\":89,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":3} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613840,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613840} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613840,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":261} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":299} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613840,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613840} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613840,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613833,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613833} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613833,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":1.0,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613833,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613833} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613833,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613827,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613827} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613827,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613827,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613827} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613827,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613826,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613826} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613826,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613826,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613826} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613826,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613820,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613820} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613820,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613820,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613820} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613820,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613818,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613818} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613818,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613818,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613818} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613818,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613812,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613812} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613812,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613812,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613812} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613812,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613807,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4484,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613807} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613807,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":4484,\"lead_id\":null}]} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":243,\"contact_id\":4484,\"owner_id\":253} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":243,\"contact_id\":4484} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":243,\"contact_id\":4484,\"opportunity_id\":276} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"tsvetomir.banovski@gmail.com\"} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613807,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613807} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613807,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613806,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613806} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613806,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":253} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":244,\"contact_id\":4487} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":350} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613806,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613806} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613806,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613805,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613805} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613805,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613805,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613805} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613805,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613698,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613698} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613698,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613698,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613698} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613698,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613697,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613697} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613697,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613697,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613697} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613697,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613696,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613696} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613696,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613696,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613696} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613696,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613695,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613695} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613695,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613695,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613695} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613695,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613694,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613694} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613694,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613694,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613694} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613694,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613157,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613157} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613157,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613157,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613157} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613157,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613156,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613156} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613156,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613156,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613156} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613156,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:process\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"859a4ec6-5c81-4283-bb96-c3ebaf5ff599\",\"trace_id\":\"f8a2783e-c54a-4d43-8cf6-61594479b0e7\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613155,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613155} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613155,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EmailSchedule] STARTING batch process {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"859a4ec6-5c81-4283-bb96-c3ebaf5ff599\",\"trace_id\":\"f8a2783e-c54a-4d43-8cf6-61594479b0e7\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613155,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613155} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613155,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EmailSchedule] FINISHED batch process {\"host\":\"docker_lamp_1\",\"processed\":0} {\"correlation_id\":\"859a4ec6-5c81-4283-bb96-c3ebaf5ff599\",\"trace_id\":\"f8a2783e-c54a-4d43-8cf6-61594479b0e7\"}\n[2026-05-11 11:17:42] 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\":\"859a4ec6-5c81-4283-bb96-c3ebaf5ff599\",\"trace_id\":\"f8a2783e-c54a-4d43-8cf6-61594479b0e7\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613130,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613130} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613130,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613130,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613130} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613130,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":165,\"stage_id\":89}} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612924} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612924,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":69,\"contact_id\":97,\"owner_id\":19} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":69,\"contact_id\":97,\"opportunity_id\":165} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612924,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612924} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612924,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":165,\"stage_id\":89}} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612923} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612923,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612923,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612923} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612923,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":165,\"stage_id\":89}} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612922} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612922,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612922,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612922} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612922,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612847,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612847,\"participants\":[{\"id\":1000130,\"user_id\":null,\"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\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] 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\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] 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\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":1,\"reason\":\"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\\\":\\\"019e16c1-d (truncated...)\n\"} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":5} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612822,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612822} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612822,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] 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\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] 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\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612822,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612822} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612822,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] 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\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612819,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] 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\":null,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] 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\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:47] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":1,\"reason\":\"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\\\":\\\"019e16c1-e (truncated...)\n\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:47] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":4} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612673,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612673} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612673,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] 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\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] 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\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612673,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612673} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612673,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] 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\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612642,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612642} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612642,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] 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\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] 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\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612642,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612642} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612642,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] 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\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612598} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612598,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] 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\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":243,\"contact_id\":4491,\"owner_id\":206} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":243,\"contact_id\":4491} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":243,\"contact_id\":4491,\"opportunity_id\":276} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] 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\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612598,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612598} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612598,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] 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\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612597} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612597,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] 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\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] 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\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:54] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612597,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612597} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612597,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:54] 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\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17: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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612596} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612596,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17: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\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17: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\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17: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\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612596} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612596,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17: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\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612595} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612595,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] 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\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] 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\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612595,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612595} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612595,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] 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\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612594} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612594,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] 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\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] 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\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612594,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612594} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612594,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] 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\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612593} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612593,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612593,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612593} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612593,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612592} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612592,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] 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\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612592,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612592} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612592,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] 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\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612591} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612591,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] 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\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612591,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612591} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612591,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612590} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612590,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612590,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612590} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612590,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612589} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612589,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612589,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612589} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612589,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612588} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612588,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612588,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612588} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612588,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":16.99,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:02] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612587} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612587,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612587,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612587} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612587,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612586} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612586,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612586,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612586} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612586,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612585} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612585,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] 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\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] 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\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612585,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612585} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612585,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}","depth":4,"on_screen":true,"value":"[2026-05-11 11:17:21] local.NOTICE: Monitoring start {\"correlation_id\":\"885fde59-3852-4120-a620-af3da7ecce17\",\"trace_id\":\"4cc10f53-5d39-418d-8e98-fe53d9bbff5f\"}\n[2026-05-11 11:17:21] local.NOTICE: Monitoring end {\"correlation_id\":\"885fde59-3852-4120-a620-af3da7ecce17\",\"trace_id\":\"4cc10f53-5d39-418d-8e98-fe53d9bbff5f\"}\n[2026-05-11 11:17:34] 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\":\"a773fb28-5a0c-4b8f-a1b5-d57e6b81db90\",\"trace_id\":\"fb6d8028-db7d-4ef2-b175-740f0a7b8b39\"}\n[2026-05-11 11:17:35] 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\":\"a773fb28-5a0c-4b8f-a1b5-d57e6b81db90\",\"trace_id\":\"fb6d8028-db7d-4ef2-b175-740f0a7b8b39\"}\n[2026-05-11 11:17:37] 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\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] 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\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:37] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] 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\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] 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\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":1,\"reason\":\"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\\\":\\\"019e16c1-c (truncated...)\n\"} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":4} {\"correlation_id\":\"01554272-3758-416d-bcd8-0b07cf17fce3\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] 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\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] 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\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:38] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":3} {\"correlation_id\":\"6f97c580-31f1-4723-80d8-b1046a615d37\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] 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\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] 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\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":1} {\"correlation_id\":\"80fe8576-047a-495f-b42a-d75cb83d9591\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] 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\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] 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\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":1,\"reason\":\"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\\\":\\\"019e16c1-c (truncated...)\n\"} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":2} {\"correlation_id\":\"55cd98de-2b2f-4dd6-b0d5-36af698ea32d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":614378,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":6167,\"account_id\":null,\"opportunity_id\":null,\"stage_id\":null}} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] 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\":6167,\"lead_id\":null},{\"id\":1002625,\"user_id\":89,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:39] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":3} {\"correlation_id\":\"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613840,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613840} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613840,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":261} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":299} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613840,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613840} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613840,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"8ccfe9b2-ef68-4a3d-95a5-5ca1667f2a59\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613833,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613833} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613833,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":1.0,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613833,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613833} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613833,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"41fb906c-1cf1-4cdb-b1bd-c638f6abc0fe\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613827,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613827} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613827,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613827,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613827} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613827,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"d1d42ab0-5c87-42e8-a91f-a56b538619ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613826,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613826} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613826,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613826,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613826} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613826,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"861e79c7-b5d3-4476-b429-0f1b4cf196a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613820,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613820} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613820,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613820,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613820} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613820,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"97a99ff2-5956-4d77-837b-790c01b09967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613818,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613818} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613818,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:40] 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\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613818,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613818} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613818,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"300f80c3-6a45-4372-85a9-9fe439206596\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613812,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613812} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613812,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613812,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613812} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613812,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"7a348156-9d36-4f25-ad5e-4fbfce8fd82a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613807,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4484,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613807} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613807,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":4484,\"lead_id\":null}]} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":243,\"contact_id\":4484,\"owner_id\":253} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":243,\"contact_id\":4484} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":243,\"contact_id\":4484,\"opportunity_id\":276} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"tsvetomir.banovski@gmail.com\"} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613807,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613807} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613807,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"499c94c1-2716-49a2-9cdf-d5eb84f68ac6\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613806,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613806} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613806,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":253} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":244,\"contact_id\":4487} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":350} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613806,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613806} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613806,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"7ce06f3c-60ee-46e5-a4dd-5b2b95b5bb64\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613805,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613805} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613805,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613805,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613805} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613805,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"9d268b15-7a74-40a7-a15c-f91054c54d96\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613698,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613698} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613698,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613698,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613698} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613698,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"b347b4f8-2099-4fd0-86a2-735eb4d1c5a0\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613697,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613697} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613697,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613697,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613697} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613697,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"bbd8f44b-f8df-4187-889c-55f3536e4b2b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613696,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613696} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613696,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:41] 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\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613696,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613696} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613696,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"a49ef1a2-1961-4831-8425-89bedec362f9\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613695,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613695} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613695,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613695,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613695} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613695,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"5a448789-544e-4bf0-906d-aa7745a76fa7\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613694,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613694} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613694,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613694,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613694} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613694,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"816a5557-12ef-4f10-964e-fb5da4d1024b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613157,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613157} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613157,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613157,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613157} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613157,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"03eaee80-dad2-4f52-b0c4-ca587c0bd5a1\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613156,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613156} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613156,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613156,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613156} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613156,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"0e646a90-8a23-4b8f-bef7-d4404cdc448e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:process\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"859a4ec6-5c81-4283-bb96-c3ebaf5ff599\",\"trace_id\":\"f8a2783e-c54a-4d43-8cf6-61594479b0e7\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613155,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613155} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613155,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EmailSchedule] STARTING batch process {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"859a4ec6-5c81-4283-bb96-c3ebaf5ff599\",\"trace_id\":\"f8a2783e-c54a-4d43-8cf6-61594479b0e7\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613155,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613155} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613155,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"e5deb2bc-6198-453a-bc77-dfc3b86ed330\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EmailSchedule] FINISHED batch process {\"host\":\"docker_lamp_1\",\"processed\":0} {\"correlation_id\":\"859a4ec6-5c81-4283-bb96-c3ebaf5ff599\",\"trace_id\":\"f8a2783e-c54a-4d43-8cf6-61594479b0e7\"}\n[2026-05-11 11:17:42] 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\":\"859a4ec6-5c81-4283-bb96-c3ebaf5ff599\",\"trace_id\":\"f8a2783e-c54a-4d43-8cf6-61594479b0e7\"}\n[2026-05-11 11:17:42] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613130,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613130} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613130,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613130,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613130} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613130,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:42] 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\":\"82d063fd-d6ec-4181-b9db-f7a3ef17fdaf\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":165,\"stage_id\":89}} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612924} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612924,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":69,\"contact_id\":97,\"owner_id\":19} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":69,\"contact_id\":97,\"opportunity_id\":165} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612924,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612924} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612924,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"cb00d0fd-ad25-43c5-8390-7596ea614d43\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":165,\"stage_id\":89}} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612923} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612923,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612923,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612923} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612923,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"2c16c154-a215-4582-9980-ebd7ee64044a\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":165,\"stage_id\":89}} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612922} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612922,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612922,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612922} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612922,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] 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\":\"4b1d2748-24b2-4a6b-8e7a-2fef29e92699\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612847,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612847,\"participants\":[{\"id\":1000130,\"user_id\":null,\"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\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:43] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] 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\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] 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\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":1,\"reason\":\"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\\\":\\\"019e16c1-d (truncated...)\n\"} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":5} {\"correlation_id\":\"370e35c5-d81b-4c82-987e-e6bfe92913c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612822,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612822} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612822,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:44] 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\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] 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\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612822,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612822} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612822,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] 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\":\"629c3489-2741-42d3-872d-118c8ddef317\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612819,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] 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\":null,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] 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\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:46] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:47] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":1,\"reason\":\"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\\\":\\\"019e16c1-e (truncated...)\n\"} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:47] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":1,\"delay\":4} {\"correlation_id\":\"275577f1-42f7-466e-9ce6-c17b3f2fa4ce\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612673,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612673} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612673,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] 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\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] 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\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612673,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612673} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612673,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] 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\":\"7d0f2fd2-918d-403e-a6ce-e803fbdc5b08\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612642,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612642} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612642,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] 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\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:49] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] 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\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612642,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612642} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612642,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] 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\":\"97ce283e-ee51-4404-bc23-21d951bddd4b\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612598} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612598,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] 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\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:50] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":243,\"contact_id\":4491,\"owner_id\":206} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":243,\"contact_id\":4491} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":243,\"contact_id\":4491,\"opportunity_id\":276} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] 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\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612598,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612598} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612598,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:51] 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\":\"dd9259e7-418a-47a0-8057-6d73eb23b66f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612597} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612597,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] 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\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] 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\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:53] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:54] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612597,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:54] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612597} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:54] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612597,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:54] 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\":\"e3420252-13cf-48c2-bb64-835fa0b7a4a4\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17: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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612596} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612596,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17: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\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17: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\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17: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\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612596} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612596,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17: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\":\"0a7ad0b2-4fbb-4bc6-ac63-ab9a3755668d\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612595} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612595,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] 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\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] 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\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612595,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612595} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612595,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:56] 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\":\"ab7b332f-3248-47be-ae07-2194ad2db67f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612594} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612594,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] 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\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] 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\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612594,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612594} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612594,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:57] 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\":\"3e75582e-1c8d-4a79-b2f5-c5b402351b6e\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612593} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612593,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612593,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612593} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612593,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":\"aa3bcf96-a28f-41da-9705-9ed54e0c2102\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612592} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612592,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:58] 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\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] 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\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612592,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612592} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612592,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] 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\":\"26135f3d-da44-4d76-a60f-10382d2fb967\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612591} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612591,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:17:59] 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\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612591,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612591} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612591,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":\"b8d871e8-9441-4887-b52c-673ba317b86f\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612590} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612590,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612590,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612590} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612590,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:00] 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\":\"a5db6a27-7474-478f-ae10-588189dcf4c5\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612589} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612589,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612589,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612589} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612589,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":\"cf2e7822-f4b9-4a8d-8a4f-191d404ca5d8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612588} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612588,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:01] 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\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612588,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612588} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612588,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"48ab04f3-8832-412a-b14d-ef2d05d438c8\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":16.99,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"8c24420c-db53-4450-9cd8-db5d2426bd57\",\"trace_id\":\"5406d133-f6cd-4f5a-b463-9146e1dfb021\"}\n[2026-05-11 11:18:02] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612587} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612587,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612587,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612587} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612587,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"ddc565df-f051-4082-9bd2-4eb892b2bed2\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612586} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612586,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612586,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612586} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612586,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:02] 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\":\"0ec5d5d4-7b90-4702-86a4-3dd3318a0456\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612585} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612585,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] 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\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:03] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] 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\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612585,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612585} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}\n[2026-05-11 11:18:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612585,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"06ce1669-8714-4bd5-b110-0d8905e544eb\",\"trace_id\":\"6cee2988-85fe-44ce-ba47-56fc0392669c\"}","role_description":"text entry area","is_enabled":true,"is_focused":false,"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}]...
|
625236172980226271
|
6378616412482181476
|
idle
|
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
2
67
3
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Services\Crm\Hubspot;
use HubSpot\Client\Crm\Deals\ApiException as DealApiException;
use HubSpot\Client\Crm\Contacts\ApiException as ContactApiException;
use HubSpot\Client\Crm\Companies\ApiException as CompanyApiException;
use HubSpot\Client\Crm\Contacts\Model\SimplePublicObjectWithAssociations as ContactsWithAssociations;
use HubSpot\Client\Crm\Companies\Model\SimplePublicObjectWithAssociations as CompaniesWithAssociations;
use HubSpot\Client\Crm\Deals\Model\SimplePublicObjectWithAssociations as DealWithAssociations;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectInput;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectWithAssociations as ObjectWithAssociations;
use HubSpot\Client\Crm\Pipelines\Model\Error;
use HubSpot\Client\Crm\Pipelines\Model\PipelineStage;
use HubSpot\Client\Crm\Properties\Model\Property;
use HubSpot\Discovery\Discovery;
use Jiminny\Exceptions\CrmException;
use Jiminny\Exceptions\RateLimitException;
use Jiminny\Exceptions\SocialAccountTokenInvalidException;
use Jiminny\Jobs\Crm\NoteObject;
use Jiminny\Models\Crm\Field;
use Jiminny\Services\Crm\BaseClient;
use Jiminny\Services\Crm\Hubspot\DTO\Response\Owner;
use Jiminny\Services\SocialAccountService;
use SevenShores\Hubspot\Exceptions\BadRequest;
use SevenShores\Hubspot\Exceptions\HubspotException;
use SevenShores\Hubspot\Factory;
use SevenShores\Hubspot\Http\Response;
use Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService;
use Illuminate\Support\Facades\Redis;
use Throwable;
/**
* @phpstan-type 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)
{
$cacheKey = $this->getRateLimitCacheKey();
$cachedRetryAfter = Redis::get($cacheKey);
if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {
throw new RateLimitException(
'Hubspot rate limit (cached circuit-breaker)',
(int) $cachedRetryAfter,
);
}
try {
return $apiCall();
} catch (Throwable $e) {
if ($this->isHubspotRateLimit($e)) {
$retryAfter = $this->parseRetryAfter($e);
Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);
$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 getRateLimitCacheKey(): string
{
return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());
}
public function isHubspotRateLimit(Throwable $e): bool
{
if ($e instanceof BadRequest
|| $e instanceof DealApiException
|| $e instanceof ContactApiException
|| $e instanceof CompanyApiException
|| $e instanceof \GuzzleHttp\Exception\RequestException
) {
return (int) $e->getCode() === 429;
}
return false;
}
public 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;
}
}
$message = strtolower($e->getMessage());
if (str_contains($message, 'daily')) {
return 600;
}
if (str_contains($message, 'ten secondly')) {
return 10;
}
if (str_contains($message, 'secondly')) {
return 1;
}
$this->log->warning('[Hubspot] No retry-after header or known message, using default', [
'exception_class' => get_class($e),
'message' => $message,
]);
return 10;
}
public function parseMessage(Throwable $e): string
{
if (! method_exists($e, 'getResponseBody')) {
return '';
}
$body = $e->getResponseBody();
if (is_string($body)) {
$body = json_decode($body, true) ?? [];
}
if (! is_array($body)) {
return '';
}
return (string) ($body['message'] ?? '');
}
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
);
}
/**
* Execute a search request against HubSpot CRM objects with rate limiting.
*
* @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')
* @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.
* @return array The search response with 'results', 'total', 'paging' keys
* @throws RateLimitException When rate limit is hit
* @throws HubspotException On API errors
*/
public function search(string $objectType, array $payload): array
{
$endpoint = self::BASE_URL . "/crm/v3/objects/{$objectType}/search";
return $this->executeRequest(function () use ($endpoint, $payload) {
$response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);
return $response->toArray();
});
}
/**
* @throws DealApiException
* @throws CrmException
*/
public function getOpportunityById(string $crmId, array $fields): array
{
try {
$deal = $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') {
return $this->getInstance()->getClient()?->request(
method: $method,
endpoint: $endpoint,
query_string: $queryString
);
} else {
return $this->getInstance()->getClient()->request($method, $endpoint, [
'json' => ($payload),
]);
}
}
/**
* @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 (RateLimitException $e) {
// throw $e;
} 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);
}
}
Show Replace Field
Search History
429
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/22
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Sync Changes
Hide This Notification
Code changed:
Hide
39
Previous Highlighted Error
Next Highlighted Error
[2026-05-11 11:17:21] local.NOTICE: Monitoring start {"correlation_id":"885fde59-3852-4120-a620-af3da7ecce17","trace_id":"4cc10f53-5d39-418d-8e98-fe53d9bbff5f"}
[2026-05-11 11:17:21] local.NOTICE: Monitoring end {"correlation_id":"885fde59-3852-4120-a620-af3da7ecce17","trace_id":"4cc10f53-5d39-418d-8e98-fe53d9bbff5f"}
[2026-05-11 11:17:34] 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":"a773fb28-5a0c-4b8f-a1b5-d57e6b81db90","trace_id":"fb6d8028-db7d-4ef2-b175-740f0a7b8b39"}
[2026-05-11 11:17:35] 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":"a773fb28-5a0c-4b8f-a1b5-d57e6b81db90","trace_id":"fb6d8028-db7d-4ef2-b175-740f0a7b8b39"}
[2026-05-11 11:17:37] 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":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":615092} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":615092,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] 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":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:37] local.INFO: [Prospect match] Cache miss, calling the API {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] 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":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.WARNING: [Hubspot] Received 429 from API {"team_id":2,"config_id":2,"retry_after":1,"reason":"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\":\"019e16c1-c (truncated...)
"} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":1,"delay":4} {"correlation_id":"01554272-3758-416d-bcd8-0b07cf17fce3","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] 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":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614436} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614436,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] 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":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:38] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":1,"delay":3} {"correlation_id":"6f97c580-31f1-4723-80d8-b1046a615d37","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] 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":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614382} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614382,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] 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":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":1,"delay":1} {"correlation_id":"80fe8576-047a-495f-b42a-d75cb83d9591","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] 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":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614381} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614381,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] 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":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.WARNING: [Hubspot] Received 429 from API {"team_id":2,"config_id":2,"retry_after":1,"reason":"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\":\"019e16c1-c (truncated...)
"} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":1,"delay":2} {"correlation_id":"55cd98de-2b2f-4dd6-b0d5-36af698ea32d","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [MatchActivityCrmData] Starting CRM data matching {"activity":614378,"remote_search":true,"set_configuration":2,"old_state":{"lead_id":null,"contact_id":6167,"account_id":null,"opportunity_id":null,"stage_id":null}} {"correlation_id":"05cfe3c8-6fd4-4a49-ab3c-70dfd05e457b","trace_id":"6cee2988-85fe-44ce-ba47-56fc0392669c"}
[2026-05-11 11:17:39] local.INFO: [ EsUp...
|
18450
|
NULL
|
NULL
|
NULL
|
|
18451
|
NULL
|
0
|
2026-05-11T11:18:20.526624+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778498300526_m2.jpg...
|
PhpStorm
|
faVsco.js – laravel.log
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
PhostormProiectVIewINavicarecodeFV faVsco.js°9 JY- PhostormProiectVIewINavicarecodeFV faVsco.js°9 JY-20725-handle-HS-search-rate-lin=laravel.log X 4 SF (jiminny@localhost]4 HS_local [jiminny@localhost]« console [PROD]•.gitignoree audio.wav© PlaybackController.php© CachedCrmServiceDecorator.phpA console [STAGING]= nuospot-lournal-poll.log= laravel.log< phpunit.xmis ttt.isE oauth-private.keyE oauth-public.kev= storageE supervisord.pidtext-relav.isontestsFeatureM Intearation• m Servicesv 7UnitActionsm ComnonentM ConficurationConsoleContractsD DomainMntoD EnumsD EventsD ExceptionsRemoteMatch.onp)MatchactivityermData.pnp© Job.php© PaginationState.phpC) MatchCrmData.phpC) CrmObiectsResolver.pho© ProviderRateLimiter.php(C) PaqinationContia.phpclass Cuient extends BasecLient imolements HubspotcuientinterfaceA2 A67 ×3 ^ v 53612153453%538₴126127128129131133135137© EmailActivityImportExc139C HandlerT est.php© RateLimitExceptionTes1410 fixturesa GuardsC HelpersahiteIntearationsa InteractionsM.Jobs147148> ActivitvM AiAutomation>M Audiol• M AutomatedRenorts150151152C CreateResultsTest.1531C) RequestGenerateA.C) RequestGenerateR,© SendReportExpiring© SendReportJobTes@& SendReportMailJobe CondDonartNatGon159|MelondarMemmTacts naccod. 12 (todav 12:02public function isHubspotRateLimit(Throwable Se): boolse inscanceotGuzzLehcco cxcepcion kequesctxcepclonrecurn (1nu se->geclode === 427*nublic function narseRetrvAfter(Throwable Se): intif method exists(Se.'aetResoonseHeaders'))Sheaders = Se->aetResoonseHeadersor2.$value = $headers['Retry-After'] ?? $headers['retry-after'] ?? null;if Gs arrav(Svalue)) <11— 5411I11ISvalue = Svaluelol 22 null.if (is numeric(Svalue)) {return (int) Svalue;Smessage = strtolower(Se->getMessageO):if (str_contains($message,'daily')){=562if (str_ contains(Smessaqe.'ten secondly')) {return 10%if (str_contains(Smessaqe, 'secondly')) {return 1"Sthis->lo0->warnina('[Hubspotl No retry-after header or known message. using default'. ['excention class' => det class(Se)1 111neturn 10+1111x5CcW.*[2026-05-11 11:17:57] Local.INFO: [Prospect match] Cache / local search hit ("identifier_type":"€ -wsg.[2026-05-11 11:17:57] local.INF0: [CrmActivityService] CRM matching completed {"activity_id":612594,"participant[2026-05-11 11:17:57] local.INF0: [ EsUpdateTarget ] Update single target {"target":"activities","purpose": "seaf[2026-05-11 11:17:57] local.INF0: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activit[2026-05-11 11:17:57] local.INF0: [MatchActivityCrmData] Successfully matched CRM data {"activity":612594,"remot[2026-05-11 11:17:58]local.INF0: [MatchActivityCrmData] Starting CRM data matching {"activity":612593,"remote_s[2026-05-11 11:17:58] local.INF0:[ EsUpdateTarget ] Update single target {"target":"activities" "purpose":"sean[2026-05-11 11:17:58]Local.LNFU.[ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activit[2026-05-11 11:17:58] local.INF0:[MatchActivityCrmData] Participants old state {"activity":612593,"participants[2026-05-11 11:17:58]Local. Inru: Lsoczalaccountservaces retchang token t soczalaccountld 11499, provzder : hu.[2026-05-11 11:17:58] local.INF0:Soc1aLAccountservice Token recrieved "soc1aLACCOUncld":1474, "prov1der":"nUa12626-05-11 11417158Local.Inru.[2026-05-11 11:17:581 local. INF0:lencrvoredlokenmanager benerarina access roken. ""mode":"Leqacy"r ""correlar[CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider": "hubCrmActivitvServicel Emarl domann belonas to the team. skapping crm lookup "al2826-05-11 11:17:58 Local.INF0:[2026-05-11 11:17:58] local2826-05-11 11:17:5811[2026-05-11 11:17:58] local. INFO:2826-05-1111:17:5811CrmActivitvServicel CRM matchina completed "activity 1d":612593."participant12026-05-11 11:17:58J2026-05-11AsvncUodatezlasticSearch Entitv added to Redis uist <"entitvivoe":"activit[MatchActivityCrmData] Successfully matched CRM data {"activity":612593, "remotMatchActivitvermDatal Startino CRM data matchina "activitv":612592 "remote s[2026-05-112026-05-1111:17:58]Local. TNFO:EsUpdateTarget ] Update single target {"target":"activities","purpose":"sear11:17-581 local. TNEO:AsvncUndate=lasticSearch1 Entitv added to Redis List <"entitvivne"."activit11:17:581Local. TNEO.MatchActivitvCrmDatal Particinants old state "activity":612592 "narticinants11:17•5911Local. TNFO:[SocialAccountServicel Fetchina token "socialAccountId": 1499 "oroviden" • "hubs[2026-05-1111:17:59]local.INFO:Sacral Accoun+Cervicel Token netrieved "icocialAccountTd"• 1400 "nnovidenll•"huh12926-05-11 11•17•5911Jocal TASh•[EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlati[2026-05-11 11:17:59]Tocal TASO•[CrmOwnerResolver] Integration owner matched as CRM Owner {"erm_provider": "hub12026-05-11 11•17•591 local TAS0•Prosnect matchl Cache / local ceanch hit cuidentifien tvnel."email" "identifi[2026-05-11 11:17:59]local.INF0: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {"a12026-05-11 11•17•591 1ocal TAE0•[CrmActivityService] CRM matching completed {"activity_id":612592, "participant[2026-05-11 11:17:59]local.INF0: [ EsUpdateTarget ] Update single target {"target":"activities" "purpose":"sear112004-05-11 11.17•501 1oлa1 TACП•[ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activit[2026-05-11 11:17:59]local.INFO: [MatchActivityCrmData] Successfully matched CRM data {"activity":612592, "remot10004-05-11 11:17.591 Local.INFO:[MatchActivityCrmDatal Starting CRM data matching {"activity":612591,"remote s[2026-05-11 11:17:591local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities" "purpose". "sean[2026-05-11 11:17:591 local.INF0:[ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activit[2026-05-11 11:17:59] local.INF0: [MatchActivityCrmDatal Participants old state {"activity":612591,"participants[2026-05-11 11:18:001 local. INF0:[SocialAccountServicel Fetching token {"socialAccountId":1499 "provider". "hubs[2026-05-11 11:18:001 local.INF0: [SocialAccountServicel Token retrieved {"socialAccountId": 1499 "providen" . "hub[2026-05-11 11:18:001 local.INF0:[EncryptedTokenManager] Generating access token. {"mode". "legacv"} {"correlatiowner matched as CRM Owner {"crm_provider":"hub12826-05-11 11:18:001LOCaL,INFO[2026-05-11 11:18:001 local, INE0:2026-05-1111: 18:001|Local, INFO.[2026-05-11 11:18:001 localCache local search hit "identifier tvoe"."emai" "identifi2026-05-1111: 18:001|[2026-05-11 11:18:001 locallAsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activit12926-05-11111•18•001 Tocal. TAS0:MatchActivitvirmlatal Succeccfuliy matched CPM data diactivitvl:612501 Ilremot[MatchActivityCrmData] Starting CRM data matching l"activity":612590,"remote_s• Preparation tor Kell.. In 42 m100% 1• Mon 11 May 14:18:20HandleHubspotRateLimitTest v+0 ..lets simplify it, just call it parseMessage and skip policy al togetherHubspot Rate Limit ReThought for 5s ›Read Client.php #L86-200b Client.phpVerify nothing broke:Command docker, taili• docker exec docker_nampat php vendor/bon/phpunittests/Unit/J0bs/Middleware/HandleHubspotRatel/mitTest-phptests/Unit/Services/Crm/Hubspot/ClientTest.php --no-coverage 2>&1 | tail -10attateslmoePHP 8.3.30contiourat ion:nome1iminnyonounit.xml[PASSWORD_DOTS]DD..DD..D.D..DDDDD.DDD.......65 / 80 (1808)Time: 62:14.415. Memorv: 62.00 MBAll ou tests still passSummaryRemoved narsePo Eicv entirelv. narseRetrvAfter now mans messade kevwords direct v to seconds without theintermediate policy conceptBefore: header parsePolicy » policy constant → seconds After: header → parseMessage → seconds• parsePolicy → deleted•narseMessade added: returns the raw messade strina from the response bodv (or •)parseRetryAfter does the keyword matching itself (daily → 600, ten secondly → 10, secondly → 1)• Log line in executeRequest now logs message instead of policy - more informative for debuggingThe keyword-match order is the same as before (daily before ten secondly before secondly ) to avoid substringAsk anvthing (&4L)« CodeClaude Qnus 4.7 MediumWN Windsurf Toams 2-1UTF.8io 4 spaces...
|
NULL
|
1257270935941464114
|
NULL
|
visual_change
|
ocr
|
NULL
|
PhostormProiectVIewINavicarecodeFV faVsco.js°9 JY- PhostormProiectVIewINavicarecodeFV faVsco.js°9 JY-20725-handle-HS-search-rate-lin=laravel.log X 4 SF (jiminny@localhost]4 HS_local [jiminny@localhost]« console [PROD]•.gitignoree audio.wav© PlaybackController.php© CachedCrmServiceDecorator.phpA console [STAGING]= nuospot-lournal-poll.log= laravel.log< phpunit.xmis ttt.isE oauth-private.keyE oauth-public.kev= storageE supervisord.pidtext-relav.isontestsFeatureM Intearation• m Servicesv 7UnitActionsm ComnonentM ConficurationConsoleContractsD DomainMntoD EnumsD EventsD ExceptionsRemoteMatch.onp)MatchactivityermData.pnp© Job.php© PaginationState.phpC) MatchCrmData.phpC) CrmObiectsResolver.pho© ProviderRateLimiter.php(C) PaqinationContia.phpclass Cuient extends BasecLient imolements HubspotcuientinterfaceA2 A67 ×3 ^ v 53612153453%538₴126127128129131133135137© EmailActivityImportExc139C HandlerT est.php© RateLimitExceptionTes1410 fixturesa GuardsC HelpersahiteIntearationsa InteractionsM.Jobs147148> ActivitvM AiAutomation>M Audiol• M AutomatedRenorts150151152C CreateResultsTest.1531C) RequestGenerateA.C) RequestGenerateR,© SendReportExpiring© SendReportJobTes@& SendReportMailJobe CondDonartNatGon159|MelondarMemmTacts naccod. 12 (todav 12:02public function isHubspotRateLimit(Throwable Se): boolse inscanceotGuzzLehcco cxcepcion kequesctxcepclonrecurn (1nu se->geclode === 427*nublic function narseRetrvAfter(Throwable Se): intif method exists(Se.'aetResoonseHeaders'))Sheaders = Se->aetResoonseHeadersor2.$value = $headers['Retry-After'] ?? $headers['retry-after'] ?? null;if Gs arrav(Svalue)) <11— 5411I11ISvalue = Svaluelol 22 null.if (is numeric(Svalue)) {return (int) Svalue;Smessage = strtolower(Se->getMessageO):if (str_contains($message,'daily')){=562if (str_ contains(Smessaqe.'ten secondly')) {return 10%if (str_contains(Smessaqe, 'secondly')) {return 1"Sthis->lo0->warnina('[Hubspotl No retry-after header or known message. using default'. ['excention class' => det class(Se)1 111neturn 10+1111x5CcW.*[2026-05-11 11:17:57] Local.INFO: [Prospect match] Cache / local search hit ("identifier_type":"€ -wsg.[2026-05-11 11:17:57] local.INF0: [CrmActivityService] CRM matching completed {"activity_id":612594,"participant[2026-05-11 11:17:57] local.INF0: [ EsUpdateTarget ] Update single target {"target":"activities","purpose": "seaf[2026-05-11 11:17:57] local.INF0: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activit[2026-05-11 11:17:57] local.INF0: [MatchActivityCrmData] Successfully matched CRM data {"activity":612594,"remot[2026-05-11 11:17:58]local.INF0: [MatchActivityCrmData] Starting CRM data matching {"activity":612593,"remote_s[2026-05-11 11:17:58] local.INF0:[ EsUpdateTarget ] Update single target {"target":"activities" "purpose":"sean[2026-05-11 11:17:58]Local.LNFU.[ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activit[2026-05-11 11:17:58] local.INF0:[MatchActivityCrmData] Participants old state {"activity":612593,"participants[2026-05-11 11:17:58]Local. Inru: Lsoczalaccountservaces retchang token t soczalaccountld 11499, provzder : hu.[2026-05-11 11:17:58] local.INF0:Soc1aLAccountservice Token recrieved "soc1aLACCOUncld":1474, "prov1der":"nUa12626-05-11 11417158Local.Inru.[2026-05-11 11:17:581 local. INF0:lencrvoredlokenmanager benerarina access roken. ""mode":"Leqacy"r ""correlar[CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider": "hubCrmActivitvServicel Emarl domann belonas to the team. skapping crm lookup "al2826-05-11 11:17:58 Local.INF0:[2026-05-11 11:17:58] local2826-05-11 11:17:5811[2026-05-11 11:17:58] local. INFO:2826-05-1111:17:5811CrmActivitvServicel CRM matchina completed "activity 1d":612593."participant12026-05-11 11:17:58J2026-05-11AsvncUodatezlasticSearch Entitv added to Redis uist <"entitvivoe":"activit[MatchActivityCrmData] Successfully matched CRM data {"activity":612593, "remotMatchActivitvermDatal Startino CRM data matchina "activitv":612592 "remote s[2026-05-112026-05-1111:17:58]Local. TNFO:EsUpdateTarget ] Update single target {"target":"activities","purpose":"sear11:17-581 local. TNEO:AsvncUndate=lasticSearch1 Entitv added to Redis List <"entitvivne"."activit11:17:581Local. TNEO.MatchActivitvCrmDatal Particinants old state "activity":612592 "narticinants11:17•5911Local. TNFO:[SocialAccountServicel Fetchina token "socialAccountId": 1499 "oroviden" • "hubs[2026-05-1111:17:59]local.INFO:Sacral Accoun+Cervicel Token netrieved "icocialAccountTd"• 1400 "nnovidenll•"huh12926-05-11 11•17•5911Jocal TASh•[EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlati[2026-05-11 11:17:59]Tocal TASO•[CrmOwnerResolver] Integration owner matched as CRM Owner {"erm_provider": "hub12026-05-11 11•17•591 local TAS0•Prosnect matchl Cache / local ceanch hit cuidentifien tvnel."email" "identifi[2026-05-11 11:17:59]local.INF0: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {"a12026-05-11 11•17•591 1ocal TAE0•[CrmActivityService] CRM matching completed {"activity_id":612592, "participant[2026-05-11 11:17:59]local.INF0: [ EsUpdateTarget ] Update single target {"target":"activities" "purpose":"sear112004-05-11 11.17•501 1oлa1 TACП•[ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activit[2026-05-11 11:17:59]local.INFO: [MatchActivityCrmData] Successfully matched CRM data {"activity":612592, "remot10004-05-11 11:17.591 Local.INFO:[MatchActivityCrmDatal Starting CRM data matching {"activity":612591,"remote s[2026-05-11 11:17:591local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities" "purpose". "sean[2026-05-11 11:17:591 local.INF0:[ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activit[2026-05-11 11:17:59] local.INF0: [MatchActivityCrmDatal Participants old state {"activity":612591,"participants[2026-05-11 11:18:001 local. INF0:[SocialAccountServicel Fetching token {"socialAccountId":1499 "provider". "hubs[2026-05-11 11:18:001 local.INF0: [SocialAccountServicel Token retrieved {"socialAccountId": 1499 "providen" . "hub[2026-05-11 11:18:001 local.INF0:[EncryptedTokenManager] Generating access token. {"mode". "legacv"} {"correlatiowner matched as CRM Owner {"crm_provider":"hub12826-05-11 11:18:001LOCaL,INFO[2026-05-11 11:18:001 local, INE0:2026-05-1111: 18:001|Local, INFO.[2026-05-11 11:18:001 localCache local search hit "identifier tvoe"."emai" "identifi2026-05-1111: 18:001|[2026-05-11 11:18:001 locallAsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activit12926-05-11111•18•001 Tocal. TAS0:MatchActivitvirmlatal Succeccfuliy matched CPM data diactivitvl:612501 Ilremot[MatchActivityCrmData] Starting CRM data matching l"activity":612590,"remote_s• Preparation tor Kell.. In 42 m100% 1• Mon 11 May 14:18:20HandleHubspotRateLimitTest v+0 ..lets simplify it, just call it parseMessage and skip policy al togetherHubspot Rate Limit ReThought for 5s ›Read Client.php #L86-200b Client.phpVerify nothing broke:Command docker, taili• docker exec docker_nampat php vendor/bon/phpunittests/Unit/J0bs/Middleware/HandleHubspotRatel/mitTest-phptests/Unit/Services/Crm/Hubspot/ClientTest.php --no-coverage 2>&1 | tail -10attateslmoePHP 8.3.30contiourat ion:nome1iminnyonounit.xml[PASSWORD_DOTS]DD..DD..D.D..DDDDD.DDD.......65 / 80 (1808)Time: 62:14.415. Memorv: 62.00 MBAll ou tests still passSummaryRemoved narsePo Eicv entirelv. narseRetrvAfter now mans messade kevwords direct v to seconds without theintermediate policy conceptBefore: header parsePolicy » policy constant → seconds After: header → parseMessage → seconds• parsePolicy → deleted•narseMessade added: returns the raw messade strina from the response bodv (or •)parseRetryAfter does the keyword matching itself (daily → 600, ten secondly → 10, secondly → 1)• Log line in executeRequest now logs message instead of policy - more informative for debuggingThe keyword-match order is the same as before (daily before ten secondly before secondly ) to avoid substringAsk anvthing (&4L)« CodeClaude Qnus 4.7 MediumWN Windsurf Toams 2-1UTF.8io 4 spaces...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
18370
|
NULL
|
0
|
2026-05-11T11:13:32.691682+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778498012691_m2.jpg...
|
PhpStorm
|
faVsco.js – laravel.log
|
1
|
NULL
|
monitor_2
|
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...
|
[{"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":"JY-20725-handle-HS-search-rate-limit, menu","depth":5,"bounds":{"left":0.064494684,"top":0.019952115,"width":0.09541223,"height":0.025538707},"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,"bounds":{"left":0.82413566,"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}]...
|
-817699417600123759
|
-7159315621853853246
|
click
|
hybrid
|
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
PhostormVIewINavicareCodeLaravelKeractorTOOISWindowFV faVsco.js°9 JY-20725-handle-HS-search-rate-limitProiect(C) TranscodeParameterResclC UserService.onp(C) Uuid.pnp> D TraitsD UseCases> D User> D Utils› D Validation> OvOphp nelpers.ong© InitialFrontendState.php© Jiminny.phpc) Plan.oho© Serializer.phpC) TeamScimDetails.ohpbootstrap>© build.> contia→ contrio→ database>M docsM front-end>D lang> node_modules library rootM ohostan> M nublic> D resourcesv Mroutesphp api.phpphp api_v2.phppnp console.onopnp customer_api.onppnp embedded.ongphp nealtn.onppnp scim.onophp uprotectedweb.phpphp web.phpphp webhook.php>O scriptsv O storage•aoo> M debuabar.… M frameworkv Mloas.aitianore• audio wav= custom.loalT SyncCrmEntitiesTrait.phpC) CachedCrmServiceDecorator.ong© RateLimitException.php© PaginationConfia.phdclass Cllent extends Baseclient 1mpLements Hubspotclientintertace = hubspot-journal-poll.log= laravel log< nhnunit ymus tht is= oauth-nrivate kevTacts naccod. 12 (todav 12:02nubu1e1sHubspotrateLimithrowadle sel: 00011 $e instanceof \GuzzleHttp\Exception\RequestExceptionreturn (int) $e->getCode === 429:recurn talsepubuac function parseRetrvAfterThrowable Se: 1nt1f method existsSe.qetResponseheaders'?Sheaders = $e->getResponseHeaders() ?: []:svalue = Sheadersl'Retry-After'J ?? Sheadersl'retry-after"! ?? null;if (is arnav(Svalue)) {= Svaluell0l 22 nul.if (is_numeric($value)) 1return (int) $valve;Smessage = strtolower(Se->getMessageO):if (str_contains(Smessage, 'daily')) {recurn o00.if (str_ contains(Smessaqe, 'ten secondly')) {recurn 10-if (str_contains(Smessaqe, 'secondly')) {return 1Sthis->loa->warnina('[Hubspotl No retry-after header or known message. using default'. [l'exception_class' => get_class($e),public function parseMessage(Throwable $e): stringhl# Preparation for Refi... in 47 m100% Lz• Mon 11 May 14:13:32HandleHubspotRateLimitTest v= custom.log=laravel.log XA SF [jiminny@localhost]4 HS_local [jiminny@localhost]# console [PKol)& console lEUllA console [STAGING]Q- 429CcW.*0 results© UserAutomatedReportsController.php© PlaybackController.php(C) Hubspot/Service.pnpC) HubSpot/Service.pnpT DeleteCrmEntityTrait.php© VerifyActivityCrmTaskJob.php© RateLimitExceptionTest.php© Job.php© CrmActivityService.php© MatchCrmData.php© CrmObjectsResolver.php© ProviderRateLimiter.phpm A2 467 ×3л Vio 4 spaces ©...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
18369
|
NULL
|
0
|
2026-05-11T11:13:31.484116+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778498011484_m1.jpg...
|
PhpStorm
|
faVsco.js – laravel.log
|
1
|
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...
|
[{"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}]...
|
-817699417600123759
|
-7159315621853853246
|
click
|
hybrid
|
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
iTerm2ShellEditViewSessionScriptsProfilesWindowHelp$0DEV (docker)-zsh84(ab)# Preparation for Refi... in 47 m100% <8• Mon 11 May 14:13:31181DOCKER0 81DEV (docker)₴2APP (-zsh)H3worker-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-emails:worker-emails_00: stoppedworker:worker_00: stoppedworker-audio:worker-audio_00: stoppedworker-calendar:worker-calendar_00:stoppedworker-conferences:worker-conferences_00: stoppedworker-crm-sync:worker-crm-sync_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 jiminny: debugDispatching 100 MatchActivityCrmDatajobs (portal=2)Done.Watch logs and run jiminny:debug observeRateLimit to inspect cachestate.root@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart allINFOClearing cached bootstrap files.configcachecompiledeventsroutesviews-zshX5screenpipe"O ₴6-zshDEV4.18ms DONE11.06ms DONE1.84ms DONE1.32ms DONE1.43ms DONE21.19ms DONE...
|
18367
|
NULL
|
NULL
|
NULL
|
|
18287
|
NULL
|
0
|
2026-05-11T11:08:11.540857+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778497691540_m2.jpg...
|
iTerm2
|
DEV (docker)
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
worker-conferences:worker-conferences_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# php artisan jiminny:debug
Matching contact 0
TypeError
Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService::getPaginatedDataGenerator(): Return value must be of type Generator, none returned
at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:83
79▕
80▕ // Update reference parameters
81▕ $total = $state->total;
82▕ $lastRecordId = $state->lastRecordId;
➜ 83▕ }
84▕
85▕ private function shouldStopPagination(PaginationState $state, int $teamId): bool
86▕ {
87▕ if ($state->hasReachedSafetyLimit()) {
1 app/Services/Crm/Hubspot/Client.php:195
Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService::getPaginatedDataGenerator(Object(Jiminny\Services\Crm\Hubspot\Client), [], "contact")
2 app/Services/Crm/Hubspot/Client.php:176
Jiminny\Services\Crm\Hubspot\Client::getPaginatedDataGenerator([], "contact")
root@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 14.73ms DONE
cache [PASSWORD_DOTS] 19.13ms DONE
compiled [PASSWORD_DOTS] 4.93ms DONE
events [PASSWORD_DOTS] 3.02ms DONE
routes [PASSWORD_DOTS] 5.55ms DONE
views [PASSWORD_DOTS] 6.02ms 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
worker-conferences:worker-conferences_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-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
Jiminny\Exceptions\RateLimitException
Hubspot returned 429
at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:206
202▕ 'retry_after' => $retryAfter,
203▕ 'reason' => $e->getMessage(),
204▕ ]);
205▕
➜ 206▕ throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);
207▕ } else {
208▕ throw $e;
209▕ }
210▕ }
+14 vendor frames
15 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:166
SevenShores\Hubspot\Http\Client::request("POST", "[URL_WITH_CREDENTIALS] php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 4.47ms DONE
cache [PASSWORD_DOTS] 16.66ms DONE
compiled [PASSWORD_DOTS] 3.26ms DONE
events [PASSWORD_DOTS] 3.99ms DONE
routes [PASSWORD_DOTS] 3.85ms DONE
views [PASSWORD_DOTS] 4.93ms 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
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
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] 14.42ms DONE
cache [PASSWORD_DOTS] 23.70ms DONE
compiled [PASSWORD_DOTS] 3.46ms DONE
events [PASSWORD_DOTS] 4.30ms DONE
routes [PASSWORD_DOTS] 8.35ms DONE
views [PASSWORD_DOTS] 8.00ms DONE
jiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped
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
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-conferences:worker-conferences_00: stopped
worker-crm-sync:worker-crm-sync_00: stopped
worker-emails:worker-emails_00: stopped
worker-calendar:worker-calendar_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 jiminny:debug
Matching contact 0
Jiminny\Exceptions\RateLimitException
Hubspot returned 429
at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:206
202▕ 'retry_after' => $retryAfter,
203▕ 'reason' => $e->getMessage(),
204▕ ]);
205▕
➜ 206▕ throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);
207▕ } else {
208▕ throw $e;
209▕ }
210▕ }
+14 vendor frames
15 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:166
SevenShores\Hubspot\Http\Client::request("POST", "[URL_WITH_CREDENTIALS] php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 6.77ms DONE
cache [PASSWORD_DOTS] 25.55ms DONE
compiled [PASSWORD_DOTS] 3.87ms DONE
events [PASSWORD_DOTS] 4.96ms DONE
routes [PASSWORD_DOTS] 2.23ms DONE
views [PASSWORD_DOTS] 7.50ms 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-conferences:worker-conferences_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-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
root@docker_lamp_1:/home/jiminny#
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug 007d5da3af66
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch JY-20725-handle-HS-search-rate-limit
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: app/Jobs/Middleware/HandleHubspotRateLimit.php
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Exceptions/RateLimitException.php
modified: app/Jobs/Activity/Import/MatchCrmData.php
modified: app/Jobs/Crm/MatchActivityCrmData.php
modified: app/Services/Crm/Hubspot/Client.php
modified: app/Services/Crm/Hubspot/HubspotClientInterface.php
modified: app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php
modified: app/Services/Crm/Hubspot/Pagination/PaginationState.php
modified: app/Services/Crm/Hubspot/Service.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.local.bak
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Policies/CanAccessAiReportsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ gbr
* JY-20725-handle-HS-search-rate-limit
master
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
JY-20160
JY-20145-filter-out-converted-leads-when-matching
JY-20150-skip-push-summary-on-summary-ready-if-autolog
JY-20132-fix-note-encoding
JY-19792-clean-logs
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ dev
root@docker_lamp_1:/home/jiminny# php artisan jiminny:debug
Illuminate\Database\QueryException
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'team_id' in 'WHERE' (Connection: mysql, Host: mariadb, Port: 3306, Database: jiminny, SQL: select * from `activities` where `team_id` = 2 and `activities`.`deleted_at` is null order by `id` desc limit 100)
at vendor/laravel/framework/src/Illuminate/Database/Connection.php:838
834▕ $exceptionType = $this->isUniqueConstraintError($e)
835▕ ? UniqueConstraintViolationException::class
836▕ : QueryException::class;
837▕
➜ 838▕ throw new $exceptionType(
839▕ $this->getNameWithReadWriteType(),
840▕ $query,
841▕ $this->prepareBindings($bindings),
842▕ $e,
+11 vendor frames
12 app/Console/Commands/JiminnyDebugCommand.php:380
Illuminate\Database\Eloquent\Builder::get()
13 app/Console/Commands/JiminnyDebugCommand.php:49
Jiminny\Console\Commands\JiminnyDebugCommand::simulateMatchActivityStorm()
root@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 10.01ms DONE
cache [PASSWORD_DOTS] 38.00ms DONE
compiled [PASSWORD_DOTS] 1.78ms DONE
events [PASSWORD_DOTS] 1.13ms DONE
routes [PASSWORD_DOTS] 1.56ms DONE
views [PASSWORD_DOTS] 3.25ms DONE
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
worker-audio:worker-audio_00: stopped
worker-nudges:worker-nudges_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
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
Dispatching 100 MatchActivityCrmData jobs (portal=2)
Done. Watch logs and run jiminny:debug observeRateLimit to inspect cache state.
root@docker_lamp_1:/home/jiminny# php artisan jiminny:debug
Dispatching 100 MatchActivityCrmData jobs (portal=2)
Done. Watch logs and run jiminny:debug observeRateLimit to inspect cache state.
root@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 6.34ms DONE
cache [PASSWORD_DOTS] 11.98ms DONE
compiled [PASSWORD_DOTS] 2.10ms DONE
events [PASSWORD_DOTS] 5.31ms DONE
routes [PASSWORD_DOTS] 2.90ms DONE
views [PASSWORD_DOTS] 13.11ms 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
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
jiminny-worker-processing-1:jiminny-worker-processing-1_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 optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 10.53ms DONE
cache [PASSWORD_DOTS] 128.25ms DONE
compiled [PASSWORD_DOTS] 1.73ms DONE
events [PASSWORD_DOTS] 1.07ms DONE
routes [PASSWORD_DOTS] 1.45ms DONE
views [PASSWORD_DOTS] 5.46ms DONE
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-conferences:worker-conferences_00: stopped
worker-crm-update:worker-crm-update_00: stopped
worker-download:worker-download_00: stopped
worker-emails:worker-emails_00: stopped
worker-nudges:worker-nudges_00: stopped
worker:worker_00: stopped
worker-audio:worker-audio_00: stopped
worker-calendar:worker-calendar_00: stopped
worker-crm-sync:worker-crm-sync_00: stopped
artisan-schedule:artisan-schedule_00: stopped
worker-es-update:worker-es-update_00: stopped
jiminny-worker-processing-1:jiminny-worker-processing-1_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
Dispatching 100 MatchActivityCrmData jobs (portal=2)
Done. Watch logs and run jiminny:debug observeRateLimit to inspect cache state.
root@docker_lamp_1:/home/jiminny# php artisan jiminny:debug
Dispatching 100 MatchActivityCrmData jobs (portal=2)
Done. Watch logs and run jiminny:debug observeRateLimit to inspect cache state.
root@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 69.57ms DONE
cache [PASSWORD_DOTS] 285.32ms DONE
compiled [PASSWORD_DOTS] 13.02ms DONE
events [PASSWORD_DOTS] 11.48ms DONE
routes [PASSWORD_DOTS] 6.30ms DONE
views [PASSWORD_DOTS] 51.86ms 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
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-es-update:worker-es-update_00: stopped
worker-emails:worker-emails_00: stopped
worker-audio:worker-audio_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-syn...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"worker-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# php artisan jiminny:debug\nMatching contact 0\n\n TypeError \n\n Jiminny\\Services\\Crm\\Hubspot\\Pagination\\HubspotPaginationService::getPaginatedDataGenerator(): Return value must be of type Generator, none returned\n\n at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:83\n 79▕ \n 80▕ // Update reference parameters\n 81▕ $total = $state->total;\n 82▕ $lastRecordId = $state->lastRecordId;\n ➜ 83▕ }\n 84▕ \n 85▕ private function shouldStopPagination(PaginationState $state, int $teamId): bool\n 86▕ {\n 87▕ if ($state->hasReachedSafetyLimit()) {\n\n 1 app/Services/Crm/Hubspot/Client.php:195\n Jiminny\\Services\\Crm\\Hubspot\\Pagination\\HubspotPaginationService::getPaginatedDataGenerator(Object(Jiminny\\Services\\Crm\\Hubspot\\Client), [], \"contact\")\n\n 2 app/Services/Crm/Hubspot/Client.php:176\n Jiminny\\Services\\Crm\\Hubspot\\Client::getPaginatedDataGenerator([], \"contact\")\n\nroot@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all\n\n INFO Clearing cached bootstrap files. \n\n config .............................................................................................................................. 14.73ms DONE\n cache ............................................................................................................................... 19.13ms DONE\n compiled ............................................................................................................................. 4.93ms DONE\n events ............................................................................................................................... 3.02ms DONE\n routes ............................................................................................................................... 5.55ms DONE\n views ................................................................................................................................ 6.02ms 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\nworker-conferences:worker-conferences_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-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\n\n Jiminny\\Exceptions\\RateLimitException \n\n Hubspot returned 429\n\n at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:206\n 202▕ 'retry_after' => $retryAfter,\n 203▕ 'reason' => $e->getMessage(),\n 204▕ ]);\n 205▕ \n ➜ 206▕ throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);\n 207▕ } else {\n 208▕ throw $e;\n 209▕ }\n 210▕ }\n\n +14 vendor frames \n\n 15 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:166\n SevenShores\\Hubspot\\Http\\Client::request(\"POST\", \"https://api.hubapi.com/crm/v3/objects/contact/search\", [])\n\n 16 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:52\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 ............................................................................................................................... 4.47ms DONE\n cache ............................................................................................................................... 16.66ms DONE\n compiled ............................................................................................................................. 3.26ms DONE\n events ............................................................................................................................... 3.99ms DONE\n routes ............................................................................................................................... 3.85ms DONE\n views ................................................................................................................................ 4.93ms 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\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\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 .............................................................................................................................. 14.42ms DONE\n cache ............................................................................................................................... 23.70ms DONE\n compiled ............................................................................................................................. 3.46ms DONE\n events ............................................................................................................................... 4.30ms DONE\n routes ............................................................................................................................... 8.35ms DONE\n views ................................................................................................................................ 8.00ms DONE\n\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\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\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-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_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 jiminny:debug\nMatching contact 0\n\n Jiminny\\Exceptions\\RateLimitException \n\n Hubspot returned 429\n\n at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:206\n 202▕ 'retry_after' => $retryAfter,\n 203▕ 'reason' => $e->getMessage(),\n 204▕ ]);\n 205▕ \n ➜ 206▕ throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);\n 207▕ } else {\n 208▕ throw $e;\n 209▕ }\n 210▕ }\n\n +14 vendor frames \n\n 15 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:166\n SevenShores\\Hubspot\\Http\\Client::request(\"POST\", \"https://api.hubapi.com/crm/v3/objects/contact/search\", [])\n\n 16 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:52\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 ............................................................................................................................... 6.77ms DONE\n cache ............................................................................................................................... 25.55ms DONE\n compiled ............................................................................................................................. 3.87ms DONE\n events ............................................................................................................................... 4.96ms DONE\n routes ............................................................................................................................... 2.23ms DONE\n views ................................................................................................................................ 7.50ms 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-conferences:worker-conferences_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-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\nroot@docker_lamp_1:/home/jiminny# \nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug 007d5da3af66\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ dev\nroot@docker_lamp_1:/home/jiminny# \nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug 007d5da3af66\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch JY-20725-handle-HS-search-rate-limit\nChanges to be committed:\n (use \"git restore --staged <file>...\" to unstage)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tnew file: app/Jobs/Middleware/HandleHubspotRateLimit.php\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Exceptions/RateLimitException.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Activity/Import/MatchCrmData.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Crm/MatchActivityCrmData.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Crm/Hubspot/Client.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Crm/Hubspot/HubspotClientInterface.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Crm/Hubspot/Pagination/PaginationState.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Crm/Hubspot/Service.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local.bak\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ gbr\n* JY-20725-handle-HS-search-rate-limit\n master\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\n JY-20160\n JY-20145-filter-out-converted-leads-when-matching\n JY-20150-skip-push-summary-on-summary-ready-if-autolog\n JY-20132-fix-note-encoding\n JY-19792-clean-logs\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ dev\nroot@docker_lamp_1:/home/jiminny# php artisan jiminny:debug\n\n Illuminate\\Database\\QueryException \n\n SQLSTATE[42S22]: Column not found: 1054 Unknown column 'team_id' in 'WHERE' (Connection: mysql, Host: mariadb, Port: 3306, Database: jiminny, SQL: select * from `activities` where `team_id` = 2 and `activities`.`deleted_at` is null order by `id` desc limit 100)\n\n at vendor/laravel/framework/src/Illuminate/Database/Connection.php:838\n 834▕ $exceptionType = $this->isUniqueConstraintError($e)\n 835▕ ? UniqueConstraintViolationException::class\n 836▕ : QueryException::class;\n 837▕ \n ➜ 838▕ throw new $exceptionType(\n 839▕ $this->getNameWithReadWriteType(),\n 840▕ $query,\n 841▕ $this->prepareBindings($bindings),\n 842▕ $e,\n\n +11 vendor frames \n\n 12 app/Console/Commands/JiminnyDebugCommand.php:380\n Illuminate\\Database\\Eloquent\\Builder::get()\n\n 13 app/Console/Commands/JiminnyDebugCommand.php:49\n Jiminny\\Console\\Commands\\JiminnyDebugCommand::simulateMatchActivityStorm()\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.01ms DONE\n cache ............................................................................................................................... 38.00ms DONE\n compiled ............................................................................................................................. 1.78ms DONE\n events ............................................................................................................................... 1.13ms DONE\n routes ............................................................................................................................... 1.56ms DONE\n views ................................................................................................................................ 3.25ms DONE\n\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\nworker-audio:worker-audio_00: stopped\nworker-nudges:worker-nudges_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\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\nDispatching 100 MatchActivityCrmData jobs (portal=2)\nDone. Watch logs and run jiminny:debug observeRateLimit to inspect cache state.\nroot@docker_lamp_1:/home/jiminny# php artisan jiminny:debug\nDispatching 100 MatchActivityCrmData jobs (portal=2)\nDone. Watch logs and run jiminny:debug observeRateLimit to inspect cache state.\nroot@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all\n\n INFO Clearing cached bootstrap files. \n\n config ............................................................................................................................... 6.34ms DONE\n cache ............................................................................................................................... 11.98ms DONE\n compiled ............................................................................................................................. 2.10ms DONE\n events ............................................................................................................................... 5.31ms DONE\n routes ............................................................................................................................... 2.90ms DONE\n views ............................................................................................................................... 13.11ms 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\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\njiminny-worker-processing-1:jiminny-worker-processing-1_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 optimize:clear && supervisorctl restart all\n\n INFO Clearing cached bootstrap files. \n\n config .............................................................................................................................. 10.53ms DONE\n cache .............................................................................................................................. 128.25ms DONE\n compiled ............................................................................................................................. 1.73ms DONE\n events ............................................................................................................................... 1.07ms DONE\n routes ............................................................................................................................... 1.45ms DONE\n views ................................................................................................................................ 5.46ms DONE\n\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-conferences:worker-conferences_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker:worker_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-es-update:worker-es-update_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_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\nDispatching 100 MatchActivityCrmData jobs (portal=2)\nDone. Watch logs and run jiminny:debug observeRateLimit to inspect cache state.\nroot@docker_lamp_1:/home/jiminny# php artisan jiminny:debug\nDispatching 100 MatchActivityCrmData jobs (portal=2)\nDone. Watch logs and run jiminny:debug observeRateLimit to inspect cache state.\nroot@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all\n\n INFO Clearing cached bootstrap files. \n\n config .............................................................................................................................. 69.57ms DONE\n cache .............................................................................................................................. 285.32ms DONE\n compiled ............................................................................................................................ 13.02ms DONE\n events .............................................................................................................................. 11.48ms DONE\n routes ............................................................................................................................... 6.30ms DONE\n views ............................................................................................................................... 51.86ms 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\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-es-update:worker-es-update_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-audio:worker-audio_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\nDispatching 100 MatchActivityCrmData jobs (portal=2)\nDone. Watch logs and run jiminny:debug observeRateLimit to inspect cache state.\nroot@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all\n\n INFO Clearing cached bootstrap files. \n\n config .............................................................................................................................. 59.22ms DONE\n cache ............................................................................................................................... 97.76ms DONE\n compiled ............................................................................................................................. 2.63ms DONE\n events ............................................................................................................................... 4.67ms DONE\n routes .............................................................................................................................. 11.57ms DONE\n views ............................................................................................................................... 18.54ms 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-emails:worker-emails_00: stopped\nworker:worker_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-conferences:worker-conferences_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-crm-sync:worker-crm-sync_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#","depth":4,"on_screen":true,"value":"worker-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# php artisan jiminny:debug\nMatching contact 0\n\n TypeError \n\n Jiminny\\Services\\Crm\\Hubspot\\Pagination\\HubspotPaginationService::getPaginatedDataGenerator(): Return value must be of type Generator, none returned\n\n at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:83\n 79▕ \n 80▕ // Update reference parameters\n 81▕ $total = $state->total;\n 82▕ $lastRecordId = $state->lastRecordId;\n ➜ 83▕ }\n 84▕ \n 85▕ private function shouldStopPagination(PaginationState $state, int $teamId): bool\n 86▕ {\n 87▕ if ($state->hasReachedSafetyLimit()) {\n\n 1 app/Services/Crm/Hubspot/Client.php:195\n Jiminny\\Services\\Crm\\Hubspot\\Pagination\\HubspotPaginationService::getPaginatedDataGenerator(Object(Jiminny\\Services\\Crm\\Hubspot\\Client), [], \"contact\")\n\n 2 app/Services/Crm/Hubspot/Client.php:176\n Jiminny\\Services\\Crm\\Hubspot\\Client::getPaginatedDataGenerator([], \"contact\")\n\nroot@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all\n\n INFO Clearing cached bootstrap files. \n\n config .............................................................................................................................. 14.73ms DONE\n cache ............................................................................................................................... 19.13ms DONE\n compiled ............................................................................................................................. 4.93ms DONE\n events ............................................................................................................................... 3.02ms DONE\n routes ............................................................................................................................... 5.55ms DONE\n views ................................................................................................................................ 6.02ms 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\nworker-conferences:worker-conferences_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-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\n\n Jiminny\\Exceptions\\RateLimitException \n\n Hubspot returned 429\n\n at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:206\n 202▕ 'retry_after' => $retryAfter,\n 203▕ 'reason' => $e->getMessage(),\n 204▕ ]);\n 205▕ \n ➜ 206▕ throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);\n 207▕ } else {\n 208▕ throw $e;\n 209▕ }\n 210▕ }\n\n +14 vendor frames \n\n 15 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:166\n SevenShores\\Hubspot\\Http\\Client::request(\"POST\", \"https://api.hubapi.com/crm/v3/objects/contact/search\", [])\n\n 16 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:52\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 ............................................................................................................................... 4.47ms DONE\n cache ............................................................................................................................... 16.66ms DONE\n compiled ............................................................................................................................. 3.26ms DONE\n events ............................................................................................................................... 3.99ms DONE\n routes ............................................................................................................................... 3.85ms DONE\n views ................................................................................................................................ 4.93ms 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\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\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 .............................................................................................................................. 14.42ms DONE\n cache ............................................................................................................................... 23.70ms DONE\n compiled ............................................................................................................................. 3.46ms DONE\n events ............................................................................................................................... 4.30ms DONE\n routes ............................................................................................................................... 8.35ms DONE\n views ................................................................................................................................ 8.00ms DONE\n\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\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\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-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_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 jiminny:debug\nMatching contact 0\n\n Jiminny\\Exceptions\\RateLimitException \n\n Hubspot returned 429\n\n at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:206\n 202▕ 'retry_after' => $retryAfter,\n 203▕ 'reason' => $e->getMessage(),\n 204▕ ]);\n 205▕ \n ➜ 206▕ throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);\n 207▕ } else {\n 208▕ throw $e;\n 209▕ }\n 210▕ }\n\n +14 vendor frames \n\n 15 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:166\n SevenShores\\Hubspot\\Http\\Client::request(\"POST\", \"https://api.hubapi.com/crm/v3/objects/contact/search\", [])\n\n 16 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:52\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 ............................................................................................................................... 6.77ms DONE\n cache ............................................................................................................................... 25.55ms DONE\n compiled ............................................................................................................................. 3.87ms DONE\n events ............................................................................................................................... 4.96ms DONE\n routes ............................................................................................................................... 2.23ms DONE\n views ................................................................................................................................ 7.50ms 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-conferences:worker-conferences_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-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\nroot@docker_lamp_1:/home/jiminny# \nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug 007d5da3af66\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ dev\nroot@docker_lamp_1:/home/jiminny# \nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug 007d5da3af66\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch JY-20725-handle-HS-search-rate-limit\nChanges to be committed:\n (use \"git restore --staged <file>...\" to unstage)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tnew file: app/Jobs/Middleware/HandleHubspotRateLimit.php\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Exceptions/RateLimitException.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Activity/Import/MatchCrmData.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Crm/MatchActivityCrmData.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Crm/Hubspot/Client.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Crm/Hubspot/HubspotClientInterface.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Crm/Hubspot/Pagination/PaginationState.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Crm/Hubspot/Service.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local.bak\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ gbr\n* JY-20725-handle-HS-search-rate-limit\n master\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\n JY-20160\n JY-20145-filter-out-converted-leads-when-matching\n JY-20150-skip-push-summary-on-summary-ready-if-autolog\n JY-20132-fix-note-encoding\n JY-19792-clean-logs\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ dev\nroot@docker_lamp_1:/home/jiminny# php artisan jiminny:debug\n\n Illuminate\\Database\\QueryException \n\n SQLSTATE[42S22]: Column not found: 1054 Unknown column 'team_id' in 'WHERE' (Connection: mysql, Host: mariadb, Port: 3306, Database: jiminny, SQL: select * from `activities` where `team_id` = 2 and `activities`.`deleted_at` is null order by `id` desc limit 100)\n\n at vendor/laravel/framework/src/Illuminate/Database/Connection.php:838\n 834▕ $exceptionType = $this->isUniqueConstraintError($e)\n 835▕ ? UniqueConstraintViolationException::class\n 836▕ : QueryException::class;\n 837▕ \n ➜ 838▕ throw new $exceptionType(\n 839▕ $this->getNameWithReadWriteType(),\n 840▕ $query,\n 841▕ $this->prepareBindings($bindings),\n 842▕ $e,\n\n +11 vendor frames \n\n 12 app/Console/Commands/JiminnyDebugCommand.php:380\n Illuminate\\Database\\Eloquent\\Builder::get()\n\n 13 app/Console/Commands/JiminnyDebugCommand.php:49\n Jiminny\\Console\\Commands\\JiminnyDebugCommand::simulateMatchActivityStorm()\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.01ms DONE\n cache ............................................................................................................................... 38.00ms DONE\n compiled ............................................................................................................................. 1.78ms DONE\n events ............................................................................................................................... 1.13ms DONE\n routes ............................................................................................................................... 1.56ms DONE\n views ................................................................................................................................ 3.25ms DONE\n\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\nworker-audio:worker-audio_00: stopped\nworker-nudges:worker-nudges_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\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\nDispatching 100 MatchActivityCrmData jobs (portal=2)\nDone. Watch logs and run jiminny:debug observeRateLimit to inspect cache state.\nroot@docker_lamp_1:/home/jiminny# php artisan jiminny:debug\nDispatching 100 MatchActivityCrmData jobs (portal=2)\nDone. Watch logs and run jiminny:debug observeRateLimit to inspect cache state.\nroot@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all\n\n INFO Clearing cached bootstrap files. \n\n config ............................................................................................................................... 6.34ms DONE\n cache ............................................................................................................................... 11.98ms DONE\n compiled ............................................................................................................................. 2.10ms DONE\n events ............................................................................................................................... 5.31ms DONE\n routes ............................................................................................................................... 2.90ms DONE\n views ............................................................................................................................... 13.11ms 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\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\njiminny-worker-processing-1:jiminny-worker-processing-1_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 optimize:clear && supervisorctl restart all\n\n INFO Clearing cached bootstrap files. \n\n config .............................................................................................................................. 10.53ms DONE\n cache .............................................................................................................................. 128.25ms DONE\n compiled ............................................................................................................................. 1.73ms DONE\n events ............................................................................................................................... 1.07ms DONE\n routes ............................................................................................................................... 1.45ms DONE\n views ................................................................................................................................ 5.46ms DONE\n\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-conferences:worker-conferences_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker:worker_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-es-update:worker-es-update_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_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\nDispatching 100 MatchActivityCrmData jobs (portal=2)\nDone. Watch logs and run jiminny:debug observeRateLimit to inspect cache state.\nroot@docker_lamp_1:/home/jiminny# php artisan jiminny:debug\nDispatching 100 MatchActivityCrmData jobs (portal=2)\nDone. Watch logs and run jiminny:debug observeRateLimit to inspect cache state.\nroot@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all\n\n INFO Clearing cached bootstrap files. \n\n config .............................................................................................................................. 69.57ms DONE\n cache .............................................................................................................................. 285.32ms DONE\n compiled ............................................................................................................................ 13.02ms DONE\n events .............................................................................................................................. 11.48ms DONE\n routes ............................................................................................................................... 6.30ms DONE\n views ............................................................................................................................... 51.86ms 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\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-es-update:worker-es-update_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-audio:worker-audio_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\nDispatching 100 MatchActivityCrmData jobs (portal=2)\nDone. Watch logs and run jiminny:debug observeRateLimit to inspect cache state.\nroot@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all\n\n INFO Clearing cached bootstrap files. \n\n config .............................................................................................................................. 59.22ms DONE\n cache ............................................................................................................................... 97.76ms DONE\n compiled ............................................................................................................................. 2.63ms DONE\n events ............................................................................................................................... 4.67ms DONE\n routes .............................................................................................................................. 11.57ms DONE\n views ............................................................................................................................... 18.54ms 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-emails:worker-emails_00: stopped\nworker:worker_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-conferences:worker-conferences_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-crm-sync:worker-crm-sync_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#","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.06732048,"height":-0.042298436},"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.27227393,"top":1.0,"width":0.005319149,"height":-0.04549086},"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.33759972,"top":1.0,"width":0.06732048,"height":-0.042298436},"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.33959442,"top":1.0,"width":0.005319149,"height":-0.04549086},"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.40492022,"top":1.0,"width":0.06732048,"height":-0.042298436},"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.4069149,"top":1.0,"width":0.005319149,"height":-0.04549086},"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.4722407,"top":1.0,"width":0.06732048,"height":-0.042298436},"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.4742354,"top":1.0,"width":0.005319149,"height":-0.04549086},"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.53956115,"top":1.0,"width":0.06715426,"height":-0.042298436},"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.5415558,"top":1.0,"width":0.005319149,"height":-0.04549086},"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.60671544,"top":1.0,"width":0.06715426,"height":-0.042298436},"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.6087101,"top":1.0,"width":0.005319149,"height":-0.04549086},"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.67386967,"top":1.0,"width":0.06715426,"height":-0.042298436},"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.67586434,"top":1.0,"width":0.005319149,"height":-0.04549086},"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.7273936,"top":1.0,"width":0.01861702,"height":-0.023144484},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"DEV (docker)","depth":1,"bounds":{"left":0.49468085,"top":1.0,"width":0.029920213,"height":-0.02394259},"on_screen":true,"role_description":"text"}]...
|
-5063400118493784605
|
4435031406530046724
|
click
|
accessibility
|
NULL
|
worker-conferences:worker-conferences_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# php artisan jiminny:debug
Matching contact 0
TypeError
Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService::getPaginatedDataGenerator(): Return value must be of type Generator, none returned
at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:83
79▕
80▕ // Update reference parameters
81▕ $total = $state->total;
82▕ $lastRecordId = $state->lastRecordId;
➜ 83▕ }
84▕
85▕ private function shouldStopPagination(PaginationState $state, int $teamId): bool
86▕ {
87▕ if ($state->hasReachedSafetyLimit()) {
1 app/Services/Crm/Hubspot/Client.php:195
Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService::getPaginatedDataGenerator(Object(Jiminny\Services\Crm\Hubspot\Client), [], "contact")
2 app/Services/Crm/Hubspot/Client.php:176
Jiminny\Services\Crm\Hubspot\Client::getPaginatedDataGenerator([], "contact")
root@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 14.73ms DONE
cache [PASSWORD_DOTS] 19.13ms DONE
compiled [PASSWORD_DOTS] 4.93ms DONE
events [PASSWORD_DOTS] 3.02ms DONE
routes [PASSWORD_DOTS] 5.55ms DONE
views [PASSWORD_DOTS] 6.02ms 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
worker-conferences:worker-conferences_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-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
Jiminny\Exceptions\RateLimitException
Hubspot returned 429
at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:206
202▕ 'retry_after' => $retryAfter,
203▕ 'reason' => $e->getMessage(),
204▕ ]);
205▕
➜ 206▕ throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);
207▕ } else {
208▕ throw $e;
209▕ }
210▕ }
+14 vendor frames
15 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:166
SevenShores\Hubspot\Http\Client::request("POST", "[URL_WITH_CREDENTIALS] php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 4.47ms DONE
cache [PASSWORD_DOTS] 16.66ms DONE
compiled [PASSWORD_DOTS] 3.26ms DONE
events [PASSWORD_DOTS] 3.99ms DONE
routes [PASSWORD_DOTS] 3.85ms DONE
views [PASSWORD_DOTS] 4.93ms 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
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
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] 14.42ms DONE
cache [PASSWORD_DOTS] 23.70ms DONE
compiled [PASSWORD_DOTS] 3.46ms DONE
events [PASSWORD_DOTS] 4.30ms DONE
routes [PASSWORD_DOTS] 8.35ms DONE
views [PASSWORD_DOTS] 8.00ms DONE
jiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped
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
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-conferences:worker-conferences_00: stopped
worker-crm-sync:worker-crm-sync_00: stopped
worker-emails:worker-emails_00: stopped
worker-calendar:worker-calendar_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 jiminny:debug
Matching contact 0
Jiminny\Exceptions\RateLimitException
Hubspot returned 429
at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:206
202▕ 'retry_after' => $retryAfter,
203▕ 'reason' => $e->getMessage(),
204▕ ]);
205▕
➜ 206▕ throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);
207▕ } else {
208▕ throw $e;
209▕ }
210▕ }
+14 vendor frames
15 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:166
SevenShores\Hubspot\Http\Client::request("POST", "[URL_WITH_CREDENTIALS] php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 6.77ms DONE
cache [PASSWORD_DOTS] 25.55ms DONE
compiled [PASSWORD_DOTS] 3.87ms DONE
events [PASSWORD_DOTS] 4.96ms DONE
routes [PASSWORD_DOTS] 2.23ms DONE
views [PASSWORD_DOTS] 7.50ms 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-conferences:worker-conferences_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-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
root@docker_lamp_1:/home/jiminny#
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug 007d5da3af66
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch JY-20725-handle-HS-search-rate-limit
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: app/Jobs/Middleware/HandleHubspotRateLimit.php
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Exceptions/RateLimitException.php
modified: app/Jobs/Activity/Import/MatchCrmData.php
modified: app/Jobs/Crm/MatchActivityCrmData.php
modified: app/Services/Crm/Hubspot/Client.php
modified: app/Services/Crm/Hubspot/HubspotClientInterface.php
modified: app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php
modified: app/Services/Crm/Hubspot/Pagination/PaginationState.php
modified: app/Services/Crm/Hubspot/Service.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.local.bak
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Policies/CanAccessAiReportsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ gbr
* JY-20725-handle-HS-search-rate-limit
master
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
JY-20160
JY-20145-filter-out-converted-leads-when-matching
JY-20150-skip-push-summary-on-summary-ready-if-autolog
JY-20132-fix-note-encoding
JY-19792-clean-logs
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ dev
root@docker_lamp_1:/home/jiminny# php artisan jiminny:debug
Illuminate\Database\QueryException
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'team_id' in 'WHERE' (Connection: mysql, Host: mariadb, Port: 3306, Database: jiminny, SQL: select * from `activities` where `team_id` = 2 and `activities`.`deleted_at` is null order by `id` desc limit 100)
at vendor/laravel/framework/src/Illuminate/Database/Connection.php:838
834▕ $exceptionType = $this->isUniqueConstraintError($e)
835▕ ? UniqueConstraintViolationException::class
836▕ : QueryException::class;
837▕
➜ 838▕ throw new $exceptionType(
839▕ $this->getNameWithReadWriteType(),
840▕ $query,
841▕ $this->prepareBindings($bindings),
842▕ $e,
+11 vendor frames
12 app/Console/Commands/JiminnyDebugCommand.php:380
Illuminate\Database\Eloquent\Builder::get()
13 app/Console/Commands/JiminnyDebugCommand.php:49
Jiminny\Console\Commands\JiminnyDebugCommand::simulateMatchActivityStorm()
root@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 10.01ms DONE
cache [PASSWORD_DOTS] 38.00ms DONE
compiled [PASSWORD_DOTS] 1.78ms DONE
events [PASSWORD_DOTS] 1.13ms DONE
routes [PASSWORD_DOTS] 1.56ms DONE
views [PASSWORD_DOTS] 3.25ms DONE
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
worker-audio:worker-audio_00: stopped
worker-nudges:worker-nudges_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
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
Dispatching 100 MatchActivityCrmData jobs (portal=2)
Done. Watch logs and run jiminny:debug observeRateLimit to inspect cache state.
root@docker_lamp_1:/home/jiminny# php artisan jiminny:debug
Dispatching 100 MatchActivityCrmData jobs (portal=2)
Done. Watch logs and run jiminny:debug observeRateLimit to inspect cache state.
root@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 6.34ms DONE
cache [PASSWORD_DOTS] 11.98ms DONE
compiled [PASSWORD_DOTS] 2.10ms DONE
events [PASSWORD_DOTS] 5.31ms DONE
routes [PASSWORD_DOTS] 2.90ms DONE
views [PASSWORD_DOTS] 13.11ms 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
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
jiminny-worker-processing-1:jiminny-worker-processing-1_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 optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 10.53ms DONE
cache [PASSWORD_DOTS] 128.25ms DONE
compiled [PASSWORD_DOTS] 1.73ms DONE
events [PASSWORD_DOTS] 1.07ms DONE
routes [PASSWORD_DOTS] 1.45ms DONE
views [PASSWORD_DOTS] 5.46ms DONE
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-conferences:worker-conferences_00: stopped
worker-crm-update:worker-crm-update_00: stopped
worker-download:worker-download_00: stopped
worker-emails:worker-emails_00: stopped
worker-nudges:worker-nudges_00: stopped
worker:worker_00: stopped
worker-audio:worker-audio_00: stopped
worker-calendar:worker-calendar_00: stopped
worker-crm-sync:worker-crm-sync_00: stopped
artisan-schedule:artisan-schedule_00: stopped
worker-es-update:worker-es-update_00: stopped
jiminny-worker-processing-1:jiminny-worker-processing-1_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
Dispatching 100 MatchActivityCrmData jobs (portal=2)
Done. Watch logs and run jiminny:debug observeRateLimit to inspect cache state.
root@docker_lamp_1:/home/jiminny# php artisan jiminny:debug
Dispatching 100 MatchActivityCrmData jobs (portal=2)
Done. Watch logs and run jiminny:debug observeRateLimit to inspect cache state.
root@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 69.57ms DONE
cache [PASSWORD_DOTS] 285.32ms DONE
compiled [PASSWORD_DOTS] 13.02ms DONE
events [PASSWORD_DOTS] 11.48ms DONE
routes [PASSWORD_DOTS] 6.30ms DONE
views [PASSWORD_DOTS] 51.86ms 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
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-es-update:worker-es-update_00: stopped
worker-emails:worker-emails_00: stopped
worker-audio:worker-audio_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-syn...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
18286
|
NULL
|
0
|
2026-05-11T11:08:11.540872+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778497691540_m1.jpg...
|
iTerm2
|
DEV (docker)
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
worker-conferences:worker-conferences_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# php artisan jiminny:debug
Matching contact 0
TypeError
Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService::getPaginatedDataGenerator(): Return value must be of type Generator, none returned
at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:83
79▕
80▕ // Update reference parameters
81▕ $total = $state->total;
82▕ $lastRecordId = $state->lastRecordId;
➜ 83▕ }
84▕
85▕ private function shouldStopPagination(PaginationState $state, int $teamId): bool
86▕ {
87▕ if ($state->hasReachedSafetyLimit()) {
1 app/Services/Crm/Hubspot/Client.php:195
Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService::getPaginatedDataGenerator(Object(Jiminny\Services\Crm\Hubspot\Client), [], "contact")
2 app/Services/Crm/Hubspot/Client.php:176
Jiminny\Services\Crm\Hubspot\Client::getPaginatedDataGenerator([], "contact")
root@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 14.73ms DONE
cache [PASSWORD_DOTS] 19.13ms DONE
compiled [PASSWORD_DOTS] 4.93ms DONE
events [PASSWORD_DOTS] 3.02ms DONE
routes [PASSWORD_DOTS] 5.55ms DONE
views [PASSWORD_DOTS] 6.02ms 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
worker-conferences:worker-conferences_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-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
Jiminny\Exceptions\RateLimitException
Hubspot returned 429
at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:206
202▕ 'retry_after' => $retryAfter,
203▕ 'reason' => $e->getMessage(),
204▕ ]);
205▕
➜ 206▕ throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);
207▕ } else {
208▕ throw $e;
209▕ }
210▕ }
+14 vendor frames
15 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:166
SevenShores\Hubspot\Http\Client::request("POST", "[URL_WITH_CREDENTIALS] php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 4.47ms DONE
cache [PASSWORD_DOTS] 16.66ms DONE
compiled [PASSWORD_DOTS] 3.26ms DONE
events [PASSWORD_DOTS] 3.99ms DONE
routes [PASSWORD_DOTS] 3.85ms DONE
views [PASSWORD_DOTS] 4.93ms 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
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
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] 14.42ms DONE
cache [PASSWORD_DOTS] 23.70ms DONE
compiled [PASSWORD_DOTS] 3.46ms DONE
events [PASSWORD_DOTS] 4.30ms DONE
routes [PASSWORD_DOTS] 8.35ms DONE
views [PASSWORD_DOTS] 8.00ms DONE
jiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped
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
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-conferences:worker-conferences_00: stopped
worker-crm-sync:worker-crm-sync_00: stopped
worker-emails:worker-emails_00: stopped
worker-calendar:worker-calendar_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 jiminny:debug
Matching contact 0
Jiminny\Exceptions\RateLimitException
Hubspot returned 429
at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:206
202▕ 'retry_after' => $retryAfter,
203▕ 'reason' => $e->getMessage(),
204▕ ]);
205▕
➜ 206▕ throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);
207▕ } else {
208▕ throw $e;
209▕ }
210▕ }
+14 vendor frames
15 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:166
SevenShores\Hubspot\Http\Client::request("POST", "[URL_WITH_CREDENTIALS] php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 6.77ms DONE
cache [PASSWORD_DOTS] 25.55ms DONE
compiled [PASSWORD_DOTS] 3.87ms DONE
events [PASSWORD_DOTS] 4.96ms DONE
routes [PASSWORD_DOTS] 2.23ms DONE
views [PASSWORD_DOTS] 7.50ms 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-conferences:worker-conferences_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-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
root@docker_lamp_1:/home/jiminny#
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug 007d5da3af66
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch JY-20725-handle-HS-search-rate-limit
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: app/Jobs/Middleware/HandleHubspotRateLimit.php
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Exceptions/RateLimitException.php
modified: app/Jobs/Activity/Import/MatchCrmData.php
modified: app/Jobs/Crm/MatchActivityCrmData.php
modified: app/Services/Crm/Hubspot/Client.php
modified: app/Services/Crm/Hubspot/HubspotClientInterface.php
modified: app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php
modified: app/Services/Crm/Hubspot/Pagination/PaginationState.php
modified: app/Services/Crm/Hubspot/Service.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.local.bak
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Policies/CanAccessAiReportsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ gbr
* JY-20725-handle-HS-search-rate-limit
master
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
JY-20160
JY-20145-filter-out-converted-leads-when-matching
JY-20150-skip-push-summary-on-summary-ready-if-autolog
JY-20132-fix-note-encoding
JY-19792-clean-logs
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ dev
root@docker_lamp_1:/home/jiminny# php artisan jiminny:debug
Illuminate\Database\QueryException
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'team_id' in 'WHERE' (Connection: mysql, Host: mariadb, Port: 3306, Database: jiminny, SQL: select * from `activities` where `team_id` = 2 and `activities`.`deleted_at` is null order by `id` desc limit 100)
at vendor/laravel/framework/src/Illuminate/Database/Connection.php:838
834▕ $exceptionType = $this->isUniqueConstraintError($e)
835▕ ? UniqueConstraintViolationException::class
836▕ : QueryException::class;
837▕
➜ 838▕ throw new $exceptionType(
839▕ $this->getNameWithReadWriteType(),
840▕ $query,
841▕ $this->prepareBindings($bindings),
842▕ $e,
+11 vendor frames
12 app/Console/Commands/JiminnyDebugCommand.php:380
Illuminate\Database\Eloquent\Builder::get()
13 app/Console/Commands/JiminnyDebugCommand.php:49
Jiminny\Console\Commands\JiminnyDebugCommand::simulateMatchActivityStorm()
root@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 10.01ms DONE
cache [PASSWORD_DOTS] 38.00ms DONE
compiled [PASSWORD_DOTS] 1.78ms DONE
events [PASSWORD_DOTS] 1.13ms DONE
routes [PASSWORD_DOTS] 1.56ms DONE
views [PASSWORD_DOTS] 3.25ms DONE
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
worker-audio:worker-audio_00: stopped
worker-nudges:worker-nudges_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
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
Dispatching 100 MatchActivityCrmData jobs (portal=2)
Done. Watch logs and run jiminny:debug observeRateLimit to inspect cache state.
root@docker_lamp_1:/home/jiminny# php artisan jiminny:debug
Dispatching 100 MatchActivityCrmData jobs (portal=2)
Done. Watch logs and run jiminny:debug observeRateLimit to inspect cache state.
root@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 6.34ms DONE
cache [PASSWORD_DOTS] 11.98ms DONE
compiled [PASSWORD_DOTS] 2.10ms DONE
events [PASSWORD_DOTS] 5.31ms DONE
routes [PASSWORD_DOTS] 2.90ms DONE
views [PASSWORD_DOTS] 13.11ms 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
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
jiminny-worker-processing-1:jiminny-worker-processing-1_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 optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 10.53ms DONE
cache [PASSWORD_DOTS] 128.25ms DONE
compiled [PASSWORD_DOTS] 1.73ms DONE
events [PASSWORD_DOTS] 1.07ms DONE
routes [PASSWORD_DOTS] 1.45ms DONE
views [PASSWORD_DOTS] 5.46ms DONE
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-conferences:worker-conferences_00: stopped
worker-crm-update:worker-crm-update_00: stopped
worker-download:worker-download_00: stopped
worker-emails:worker-emails_00: stopped
worker-nudges:worker-nudges_00: stopped
worker:worker_00: stopped
worker-audio:worker-audio_00: stopped
worker-calendar:worker-calendar_00: stopped
worker-crm-sync:worker-crm-sync_00: stopped
artisan-schedule:artisan-schedule_00: stopped
worker-es-update:worker-es-update_00: stopped
jiminny-worker-processing-1:jiminny-worker-processing-1_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
Dispatching 100 MatchActivityCrmData jobs (portal=2)
Done. Watch logs and run jiminny:debug observeRateLimit to inspect cache state.
root@docker_lamp_1:/home/jiminny# php artisan jiminny:debug
Dispatching 100 MatchActivityCrmData jobs (portal=2)
Done. Watch logs and run jiminny:debug observeRateLimit to inspect cache state.
root@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 69.57ms DONE
cache [PASSWORD_DOTS] 285.32ms DONE
compiled [PASSWORD_DOTS] 13.02ms DONE
events [PASSWORD_DOTS] 11.48ms DONE
routes [PASSWORD_DOTS] 6.30ms DONE
views [PASSWORD_DOTS] 51.86ms 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
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-es-update:worker-es-update_00: stopped
worker-emails:worker-emails_00: stopped
worker-audio:worker-audio_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-syn...
|
[{"role":"AXTextArea","text [{"role":"AXTextArea","text":"worker-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# php artisan jiminny:debug\nMatching contact 0\n\n TypeError \n\n Jiminny\\Services\\Crm\\Hubspot\\Pagination\\HubspotPaginationService::getPaginatedDataGenerator(): Return value must be of type Generator, none returned\n\n at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:83\n 79▕ \n 80▕ // Update reference parameters\n 81▕ $total = $state->total;\n 82▕ $lastRecordId = $state->lastRecordId;\n ➜ 83▕ }\n 84▕ \n 85▕ private function shouldStopPagination(PaginationState $state, int $teamId): bool\n 86▕ {\n 87▕ if ($state->hasReachedSafetyLimit()) {\n\n 1 app/Services/Crm/Hubspot/Client.php:195\n Jiminny\\Services\\Crm\\Hubspot\\Pagination\\HubspotPaginationService::getPaginatedDataGenerator(Object(Jiminny\\Services\\Crm\\Hubspot\\Client), [], \"contact\")\n\n 2 app/Services/Crm/Hubspot/Client.php:176\n Jiminny\\Services\\Crm\\Hubspot\\Client::getPaginatedDataGenerator([], \"contact\")\n\nroot@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all\n\n INFO Clearing cached bootstrap files. \n\n config .............................................................................................................................. 14.73ms DONE\n cache ............................................................................................................................... 19.13ms DONE\n compiled ............................................................................................................................. 4.93ms DONE\n events ............................................................................................................................... 3.02ms DONE\n routes ............................................................................................................................... 5.55ms DONE\n views ................................................................................................................................ 6.02ms 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\nworker-conferences:worker-conferences_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-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\n\n Jiminny\\Exceptions\\RateLimitException \n\n Hubspot returned 429\n\n at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:206\n 202▕ 'retry_after' => $retryAfter,\n 203▕ 'reason' => $e->getMessage(),\n 204▕ ]);\n 205▕ \n ➜ 206▕ throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);\n 207▕ } else {\n 208▕ throw $e;\n 209▕ }\n 210▕ }\n\n +14 vendor frames \n\n 15 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:166\n SevenShores\\Hubspot\\Http\\Client::request(\"POST\", \"https://api.hubapi.com/crm/v3/objects/contact/search\", [])\n\n 16 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:52\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 ............................................................................................................................... 4.47ms DONE\n cache ............................................................................................................................... 16.66ms DONE\n compiled ............................................................................................................................. 3.26ms DONE\n events ............................................................................................................................... 3.99ms DONE\n routes ............................................................................................................................... 3.85ms DONE\n views ................................................................................................................................ 4.93ms 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\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\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 .............................................................................................................................. 14.42ms DONE\n cache ............................................................................................................................... 23.70ms DONE\n compiled ............................................................................................................................. 3.46ms DONE\n events ............................................................................................................................... 4.30ms DONE\n routes ............................................................................................................................... 8.35ms DONE\n views ................................................................................................................................ 8.00ms DONE\n\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\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\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-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_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 jiminny:debug\nMatching contact 0\n\n Jiminny\\Exceptions\\RateLimitException \n\n Hubspot returned 429\n\n at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:206\n 202▕ 'retry_after' => $retryAfter,\n 203▕ 'reason' => $e->getMessage(),\n 204▕ ]);\n 205▕ \n ➜ 206▕ throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);\n 207▕ } else {\n 208▕ throw $e;\n 209▕ }\n 210▕ }\n\n +14 vendor frames \n\n 15 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:166\n SevenShores\\Hubspot\\Http\\Client::request(\"POST\", \"https://api.hubapi.com/crm/v3/objects/contact/search\", [])\n\n 16 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:52\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 ............................................................................................................................... 6.77ms DONE\n cache ............................................................................................................................... 25.55ms DONE\n compiled ............................................................................................................................. 3.87ms DONE\n events ............................................................................................................................... 4.96ms DONE\n routes ............................................................................................................................... 2.23ms DONE\n views ................................................................................................................................ 7.50ms 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-conferences:worker-conferences_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-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\nroot@docker_lamp_1:/home/jiminny# \nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug 007d5da3af66\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ dev\nroot@docker_lamp_1:/home/jiminny# \nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug 007d5da3af66\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch JY-20725-handle-HS-search-rate-limit\nChanges to be committed:\n (use \"git restore --staged <file>...\" to unstage)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tnew file: app/Jobs/Middleware/HandleHubspotRateLimit.php\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Exceptions/RateLimitException.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Activity/Import/MatchCrmData.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Crm/MatchActivityCrmData.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Crm/Hubspot/Client.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Crm/Hubspot/HubspotClientInterface.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Crm/Hubspot/Pagination/PaginationState.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Crm/Hubspot/Service.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local.bak\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ gbr\n* JY-20725-handle-HS-search-rate-limit\n master\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\n JY-20160\n JY-20145-filter-out-converted-leads-when-matching\n JY-20150-skip-push-summary-on-summary-ready-if-autolog\n JY-20132-fix-note-encoding\n JY-19792-clean-logs\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ dev\nroot@docker_lamp_1:/home/jiminny# php artisan jiminny:debug\n\n Illuminate\\Database\\QueryException \n\n SQLSTATE[42S22]: Column not found: 1054 Unknown column 'team_id' in 'WHERE' (Connection: mysql, Host: mariadb, Port: 3306, Database: jiminny, SQL: select * from `activities` where `team_id` = 2 and `activities`.`deleted_at` is null order by `id` desc limit 100)\n\n at vendor/laravel/framework/src/Illuminate/Database/Connection.php:838\n 834▕ $exceptionType = $this->isUniqueConstraintError($e)\n 835▕ ? UniqueConstraintViolationException::class\n 836▕ : QueryException::class;\n 837▕ \n ➜ 838▕ throw new $exceptionType(\n 839▕ $this->getNameWithReadWriteType(),\n 840▕ $query,\n 841▕ $this->prepareBindings($bindings),\n 842▕ $e,\n\n +11 vendor frames \n\n 12 app/Console/Commands/JiminnyDebugCommand.php:380\n Illuminate\\Database\\Eloquent\\Builder::get()\n\n 13 app/Console/Commands/JiminnyDebugCommand.php:49\n Jiminny\\Console\\Commands\\JiminnyDebugCommand::simulateMatchActivityStorm()\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.01ms DONE\n cache ............................................................................................................................... 38.00ms DONE\n compiled ............................................................................................................................. 1.78ms DONE\n events ............................................................................................................................... 1.13ms DONE\n routes ............................................................................................................................... 1.56ms DONE\n views ................................................................................................................................ 3.25ms DONE\n\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\nworker-audio:worker-audio_00: stopped\nworker-nudges:worker-nudges_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\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\nDispatching 100 MatchActivityCrmData jobs (portal=2)\nDone. Watch logs and run jiminny:debug observeRateLimit to inspect cache state.\nroot@docker_lamp_1:/home/jiminny# php artisan jiminny:debug\nDispatching 100 MatchActivityCrmData jobs (portal=2)\nDone. Watch logs and run jiminny:debug observeRateLimit to inspect cache state.\nroot@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all\n\n INFO Clearing cached bootstrap files. \n\n config ............................................................................................................................... 6.34ms DONE\n cache ............................................................................................................................... 11.98ms DONE\n compiled ............................................................................................................................. 2.10ms DONE\n events ............................................................................................................................... 5.31ms DONE\n routes ............................................................................................................................... 2.90ms DONE\n views ............................................................................................................................... 13.11ms 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\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\njiminny-worker-processing-1:jiminny-worker-processing-1_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 optimize:clear && supervisorctl restart all\n\n INFO Clearing cached bootstrap files. \n\n config .............................................................................................................................. 10.53ms DONE\n cache .............................................................................................................................. 128.25ms DONE\n compiled ............................................................................................................................. 1.73ms DONE\n events ............................................................................................................................... 1.07ms DONE\n routes ............................................................................................................................... 1.45ms DONE\n views ................................................................................................................................ 5.46ms DONE\n\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-conferences:worker-conferences_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker:worker_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-es-update:worker-es-update_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_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\nDispatching 100 MatchActivityCrmData jobs (portal=2)\nDone. Watch logs and run jiminny:debug observeRateLimit to inspect cache state.\nroot@docker_lamp_1:/home/jiminny# php artisan jiminny:debug\nDispatching 100 MatchActivityCrmData jobs (portal=2)\nDone. Watch logs and run jiminny:debug observeRateLimit to inspect cache state.\nroot@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all\n\n INFO Clearing cached bootstrap files. \n\n config .............................................................................................................................. 69.57ms DONE\n cache .............................................................................................................................. 285.32ms DONE\n compiled ............................................................................................................................ 13.02ms DONE\n events .............................................................................................................................. 11.48ms DONE\n routes ............................................................................................................................... 6.30ms DONE\n views ............................................................................................................................... 51.86ms 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\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-es-update:worker-es-update_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-audio:worker-audio_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\nDispatching 100 MatchActivityCrmData jobs (portal=2)\nDone. Watch logs and run jiminny:debug observeRateLimit to inspect cache state.\nroot@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all\n\n INFO Clearing cached bootstrap files. \n\n config .............................................................................................................................. 59.22ms DONE\n cache ............................................................................................................................... 97.76ms DONE\n compiled ............................................................................................................................. 2.63ms DONE\n events ............................................................................................................................... 4.67ms DONE\n routes .............................................................................................................................. 11.57ms DONE\n views ............................................................................................................................... 18.54ms 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-emails:worker-emails_00: stopped\nworker:worker_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-conferences:worker-conferences_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-crm-sync:worker-crm-sync_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#","depth":4,"on_screen":true,"value":"worker-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# php artisan jiminny:debug\nMatching contact 0\n\n TypeError \n\n Jiminny\\Services\\Crm\\Hubspot\\Pagination\\HubspotPaginationService::getPaginatedDataGenerator(): Return value must be of type Generator, none returned\n\n at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:83\n 79▕ \n 80▕ // Update reference parameters\n 81▕ $total = $state->total;\n 82▕ $lastRecordId = $state->lastRecordId;\n ➜ 83▕ }\n 84▕ \n 85▕ private function shouldStopPagination(PaginationState $state, int $teamId): bool\n 86▕ {\n 87▕ if ($state->hasReachedSafetyLimit()) {\n\n 1 app/Services/Crm/Hubspot/Client.php:195\n Jiminny\\Services\\Crm\\Hubspot\\Pagination\\HubspotPaginationService::getPaginatedDataGenerator(Object(Jiminny\\Services\\Crm\\Hubspot\\Client), [], \"contact\")\n\n 2 app/Services/Crm/Hubspot/Client.php:176\n Jiminny\\Services\\Crm\\Hubspot\\Client::getPaginatedDataGenerator([], \"contact\")\n\nroot@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all\n\n INFO Clearing cached bootstrap files. \n\n config .............................................................................................................................. 14.73ms DONE\n cache ............................................................................................................................... 19.13ms DONE\n compiled ............................................................................................................................. 4.93ms DONE\n events ............................................................................................................................... 3.02ms DONE\n routes ............................................................................................................................... 5.55ms DONE\n views ................................................................................................................................ 6.02ms 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\nworker-conferences:worker-conferences_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-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\n\n Jiminny\\Exceptions\\RateLimitException \n\n Hubspot returned 429\n\n at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:206\n 202▕ 'retry_after' => $retryAfter,\n 203▕ 'reason' => $e->getMessage(),\n 204▕ ]);\n 205▕ \n ➜ 206▕ throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);\n 207▕ } else {\n 208▕ throw $e;\n 209▕ }\n 210▕ }\n\n +14 vendor frames \n\n 15 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:166\n SevenShores\\Hubspot\\Http\\Client::request(\"POST\", \"https://api.hubapi.com/crm/v3/objects/contact/search\", [])\n\n 16 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:52\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 ............................................................................................................................... 4.47ms DONE\n cache ............................................................................................................................... 16.66ms DONE\n compiled ............................................................................................................................. 3.26ms DONE\n events ............................................................................................................................... 3.99ms DONE\n routes ............................................................................................................................... 3.85ms DONE\n views ................................................................................................................................ 4.93ms 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\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\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 .............................................................................................................................. 14.42ms DONE\n cache ............................................................................................................................... 23.70ms DONE\n compiled ............................................................................................................................. 3.46ms DONE\n events ............................................................................................................................... 4.30ms DONE\n routes ............................................................................................................................... 8.35ms DONE\n views ................................................................................................................................ 8.00ms DONE\n\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\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\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-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_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 jiminny:debug\nMatching contact 0\n\n Jiminny\\Exceptions\\RateLimitException \n\n Hubspot returned 429\n\n at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:206\n 202▕ 'retry_after' => $retryAfter,\n 203▕ 'reason' => $e->getMessage(),\n 204▕ ]);\n 205▕ \n ➜ 206▕ throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);\n 207▕ } else {\n 208▕ throw $e;\n 209▕ }\n 210▕ }\n\n +14 vendor frames \n\n 15 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:166\n SevenShores\\Hubspot\\Http\\Client::request(\"POST\", \"https://api.hubapi.com/crm/v3/objects/contact/search\", [])\n\n 16 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:52\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 ............................................................................................................................... 6.77ms DONE\n cache ............................................................................................................................... 25.55ms DONE\n compiled ............................................................................................................................. 3.87ms DONE\n events ............................................................................................................................... 4.96ms DONE\n routes ............................................................................................................................... 2.23ms DONE\n views ................................................................................................................................ 7.50ms 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-conferences:worker-conferences_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-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\nroot@docker_lamp_1:/home/jiminny# \nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug 007d5da3af66\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ dev\nroot@docker_lamp_1:/home/jiminny# \nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug 007d5da3af66\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch JY-20725-handle-HS-search-rate-limit\nChanges to be committed:\n (use \"git restore --staged <file>...\" to unstage)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tnew file: app/Jobs/Middleware/HandleHubspotRateLimit.php\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Exceptions/RateLimitException.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Activity/Import/MatchCrmData.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Crm/MatchActivityCrmData.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Crm/Hubspot/Client.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Crm/Hubspot/HubspotClientInterface.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Crm/Hubspot/Pagination/PaginationState.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Crm/Hubspot/Service.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local.bak\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ gbr\n* JY-20725-handle-HS-search-rate-limit\n master\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\n JY-20160\n JY-20145-filter-out-converted-leads-when-matching\n JY-20150-skip-push-summary-on-summary-ready-if-autolog\n JY-20132-fix-note-encoding\n JY-19792-clean-logs\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ dev\nroot@docker_lamp_1:/home/jiminny# php artisan jiminny:debug\n\n Illuminate\\Database\\QueryException \n\n SQLSTATE[42S22]: Column not found: 1054 Unknown column 'team_id' in 'WHERE' (Connection: mysql, Host: mariadb, Port: 3306, Database: jiminny, SQL: select * from `activities` where `team_id` = 2 and `activities`.`deleted_at` is null order by `id` desc limit 100)\n\n at vendor/laravel/framework/src/Illuminate/Database/Connection.php:838\n 834▕ $exceptionType = $this->isUniqueConstraintError($e)\n 835▕ ? UniqueConstraintViolationException::class\n 836▕ : QueryException::class;\n 837▕ \n ➜ 838▕ throw new $exceptionType(\n 839▕ $this->getNameWithReadWriteType(),\n 840▕ $query,\n 841▕ $this->prepareBindings($bindings),\n 842▕ $e,\n\n +11 vendor frames \n\n 12 app/Console/Commands/JiminnyDebugCommand.php:380\n Illuminate\\Database\\Eloquent\\Builder::get()\n\n 13 app/Console/Commands/JiminnyDebugCommand.php:49\n Jiminny\\Console\\Commands\\JiminnyDebugCommand::simulateMatchActivityStorm()\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.01ms DONE\n cache ............................................................................................................................... 38.00ms DONE\n compiled ............................................................................................................................. 1.78ms DONE\n events ............................................................................................................................... 1.13ms DONE\n routes ............................................................................................................................... 1.56ms DONE\n views ................................................................................................................................ 3.25ms DONE\n\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\nworker-audio:worker-audio_00: stopped\nworker-nudges:worker-nudges_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\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\nDispatching 100 MatchActivityCrmData jobs (portal=2)\nDone. Watch logs and run jiminny:debug observeRateLimit to inspect cache state.\nroot@docker_lamp_1:/home/jiminny# php artisan jiminny:debug\nDispatching 100 MatchActivityCrmData jobs (portal=2)\nDone. Watch logs and run jiminny:debug observeRateLimit to inspect cache state.\nroot@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all\n\n INFO Clearing cached bootstrap files. \n\n config ............................................................................................................................... 6.34ms DONE\n cache ............................................................................................................................... 11.98ms DONE\n compiled ............................................................................................................................. 2.10ms DONE\n events ............................................................................................................................... 5.31ms DONE\n routes ............................................................................................................................... 2.90ms DONE\n views ............................................................................................................................... 13.11ms 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\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\njiminny-worker-processing-1:jiminny-worker-processing-1_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 optimize:clear && supervisorctl restart all\n\n INFO Clearing cached bootstrap files. \n\n config .............................................................................................................................. 10.53ms DONE\n cache .............................................................................................................................. 128.25ms DONE\n compiled ............................................................................................................................. 1.73ms DONE\n events ............................................................................................................................... 1.07ms DONE\n routes ............................................................................................................................... 1.45ms DONE\n views ................................................................................................................................ 5.46ms DONE\n\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-conferences:worker-conferences_00: stopped\nworker-crm-update:worker-crm-update_00: stopped\nworker-download:worker-download_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-nudges:worker-nudges_00: stopped\nworker:worker_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-es-update:worker-es-update_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_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\nDispatching 100 MatchActivityCrmData jobs (portal=2)\nDone. Watch logs and run jiminny:debug observeRateLimit to inspect cache state.\nroot@docker_lamp_1:/home/jiminny# php artisan jiminny:debug\nDispatching 100 MatchActivityCrmData jobs (portal=2)\nDone. Watch logs and run jiminny:debug observeRateLimit to inspect cache state.\nroot@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all\n\n INFO Clearing cached bootstrap files. \n\n config .............................................................................................................................. 69.57ms DONE\n cache .............................................................................................................................. 285.32ms DONE\n compiled ............................................................................................................................ 13.02ms DONE\n events .............................................................................................................................. 11.48ms DONE\n routes ............................................................................................................................... 6.30ms DONE\n views ............................................................................................................................... 51.86ms 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\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-es-update:worker-es-update_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-audio:worker-audio_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\nDispatching 100 MatchActivityCrmData jobs (portal=2)\nDone. Watch logs and run jiminny:debug observeRateLimit to inspect cache state.\nroot@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all\n\n INFO Clearing cached bootstrap files. \n\n config .............................................................................................................................. 59.22ms DONE\n cache ............................................................................................................................... 97.76ms DONE\n compiled ............................................................................................................................. 2.63ms DONE\n events ............................................................................................................................... 4.67ms DONE\n routes .............................................................................................................................. 11.57ms DONE\n views ............................................................................................................................... 18.54ms 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-emails:worker-emails_00: stopped\nworker:worker_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-conferences:worker-conferences_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker-crm-sync:worker-crm-sync_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#","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 (docker)","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":"-zsh","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":"DEV (docker)","depth":1,"bounds":{"left":0.46875,"top":0.033333335,"width":0.0625,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
-5063400118493784605
|
4435031406530046724
|
click
|
accessibility
|
NULL
|
worker-conferences:worker-conferences_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# php artisan jiminny:debug
Matching contact 0
TypeError
Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService::getPaginatedDataGenerator(): Return value must be of type Generator, none returned
at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:83
79▕
80▕ // Update reference parameters
81▕ $total = $state->total;
82▕ $lastRecordId = $state->lastRecordId;
➜ 83▕ }
84▕
85▕ private function shouldStopPagination(PaginationState $state, int $teamId): bool
86▕ {
87▕ if ($state->hasReachedSafetyLimit()) {
1 app/Services/Crm/Hubspot/Client.php:195
Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService::getPaginatedDataGenerator(Object(Jiminny\Services\Crm\Hubspot\Client), [], "contact")
2 app/Services/Crm/Hubspot/Client.php:176
Jiminny\Services\Crm\Hubspot\Client::getPaginatedDataGenerator([], "contact")
root@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 14.73ms DONE
cache [PASSWORD_DOTS] 19.13ms DONE
compiled [PASSWORD_DOTS] 4.93ms DONE
events [PASSWORD_DOTS] 3.02ms DONE
routes [PASSWORD_DOTS] 5.55ms DONE
views [PASSWORD_DOTS] 6.02ms 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
worker-conferences:worker-conferences_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-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
Jiminny\Exceptions\RateLimitException
Hubspot returned 429
at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:206
202▕ 'retry_after' => $retryAfter,
203▕ 'reason' => $e->getMessage(),
204▕ ]);
205▕
➜ 206▕ throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);
207▕ } else {
208▕ throw $e;
209▕ }
210▕ }
+14 vendor frames
15 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:166
SevenShores\Hubspot\Http\Client::request("POST", "[URL_WITH_CREDENTIALS] php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 4.47ms DONE
cache [PASSWORD_DOTS] 16.66ms DONE
compiled [PASSWORD_DOTS] 3.26ms DONE
events [PASSWORD_DOTS] 3.99ms DONE
routes [PASSWORD_DOTS] 3.85ms DONE
views [PASSWORD_DOTS] 4.93ms 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
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
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] 14.42ms DONE
cache [PASSWORD_DOTS] 23.70ms DONE
compiled [PASSWORD_DOTS] 3.46ms DONE
events [PASSWORD_DOTS] 4.30ms DONE
routes [PASSWORD_DOTS] 8.35ms DONE
views [PASSWORD_DOTS] 8.00ms DONE
jiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped
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
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-conferences:worker-conferences_00: stopped
worker-crm-sync:worker-crm-sync_00: stopped
worker-emails:worker-emails_00: stopped
worker-calendar:worker-calendar_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 jiminny:debug
Matching contact 0
Jiminny\Exceptions\RateLimitException
Hubspot returned 429
at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:206
202▕ 'retry_after' => $retryAfter,
203▕ 'reason' => $e->getMessage(),
204▕ ]);
205▕
➜ 206▕ throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);
207▕ } else {
208▕ throw $e;
209▕ }
210▕ }
+14 vendor frames
15 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:166
SevenShores\Hubspot\Http\Client::request("POST", "[URL_WITH_CREDENTIALS] php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 6.77ms DONE
cache [PASSWORD_DOTS] 25.55ms DONE
compiled [PASSWORD_DOTS] 3.87ms DONE
events [PASSWORD_DOTS] 4.96ms DONE
routes [PASSWORD_DOTS] 2.23ms DONE
views [PASSWORD_DOTS] 7.50ms 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-conferences:worker-conferences_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-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
root@docker_lamp_1:/home/jiminny#
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug 007d5da3af66
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch JY-20725-handle-HS-search-rate-limit
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: app/Jobs/Middleware/HandleHubspotRateLimit.php
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Exceptions/RateLimitException.php
modified: app/Jobs/Activity/Import/MatchCrmData.php
modified: app/Jobs/Crm/MatchActivityCrmData.php
modified: app/Services/Crm/Hubspot/Client.php
modified: app/Services/Crm/Hubspot/HubspotClientInterface.php
modified: app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php
modified: app/Services/Crm/Hubspot/Pagination/PaginationState.php
modified: app/Services/Crm/Hubspot/Service.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.local.bak
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Policies/CanAccessAiReportsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ gbr
* JY-20725-handle-HS-search-rate-limit
master
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
JY-20160
JY-20145-filter-out-converted-leads-when-matching
JY-20150-skip-push-summary-on-summary-ready-if-autolog
JY-20132-fix-note-encoding
JY-19792-clean-logs
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ dev
root@docker_lamp_1:/home/jiminny# php artisan jiminny:debug
Illuminate\Database\QueryException
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'team_id' in 'WHERE' (Connection: mysql, Host: mariadb, Port: 3306, Database: jiminny, SQL: select * from `activities` where `team_id` = 2 and `activities`.`deleted_at` is null order by `id` desc limit 100)
at vendor/laravel/framework/src/Illuminate/Database/Connection.php:838
834▕ $exceptionType = $this->isUniqueConstraintError($e)
835▕ ? UniqueConstraintViolationException::class
836▕ : QueryException::class;
837▕
➜ 838▕ throw new $exceptionType(
839▕ $this->getNameWithReadWriteType(),
840▕ $query,
841▕ $this->prepareBindings($bindings),
842▕ $e,
+11 vendor frames
12 app/Console/Commands/JiminnyDebugCommand.php:380
Illuminate\Database\Eloquent\Builder::get()
13 app/Console/Commands/JiminnyDebugCommand.php:49
Jiminny\Console\Commands\JiminnyDebugCommand::simulateMatchActivityStorm()
root@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 10.01ms DONE
cache [PASSWORD_DOTS] 38.00ms DONE
compiled [PASSWORD_DOTS] 1.78ms DONE
events [PASSWORD_DOTS] 1.13ms DONE
routes [PASSWORD_DOTS] 1.56ms DONE
views [PASSWORD_DOTS] 3.25ms DONE
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
worker-audio:worker-audio_00: stopped
worker-nudges:worker-nudges_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
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
Dispatching 100 MatchActivityCrmData jobs (portal=2)
Done. Watch logs and run jiminny:debug observeRateLimit to inspect cache state.
root@docker_lamp_1:/home/jiminny# php artisan jiminny:debug
Dispatching 100 MatchActivityCrmData jobs (portal=2)
Done. Watch logs and run jiminny:debug observeRateLimit to inspect cache state.
root@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 6.34ms DONE
cache [PASSWORD_DOTS] 11.98ms DONE
compiled [PASSWORD_DOTS] 2.10ms DONE
events [PASSWORD_DOTS] 5.31ms DONE
routes [PASSWORD_DOTS] 2.90ms DONE
views [PASSWORD_DOTS] 13.11ms 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
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
jiminny-worker-processing-1:jiminny-worker-processing-1_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 optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 10.53ms DONE
cache [PASSWORD_DOTS] 128.25ms DONE
compiled [PASSWORD_DOTS] 1.73ms DONE
events [PASSWORD_DOTS] 1.07ms DONE
routes [PASSWORD_DOTS] 1.45ms DONE
views [PASSWORD_DOTS] 5.46ms DONE
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-conferences:worker-conferences_00: stopped
worker-crm-update:worker-crm-update_00: stopped
worker-download:worker-download_00: stopped
worker-emails:worker-emails_00: stopped
worker-nudges:worker-nudges_00: stopped
worker:worker_00: stopped
worker-audio:worker-audio_00: stopped
worker-calendar:worker-calendar_00: stopped
worker-crm-sync:worker-crm-sync_00: stopped
artisan-schedule:artisan-schedule_00: stopped
worker-es-update:worker-es-update_00: stopped
jiminny-worker-processing-1:jiminny-worker-processing-1_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
Dispatching 100 MatchActivityCrmData jobs (portal=2)
Done. Watch logs and run jiminny:debug observeRateLimit to inspect cache state.
root@docker_lamp_1:/home/jiminny# php artisan jiminny:debug
Dispatching 100 MatchActivityCrmData jobs (portal=2)
Done. Watch logs and run jiminny:debug observeRateLimit to inspect cache state.
root@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 69.57ms DONE
cache [PASSWORD_DOTS] 285.32ms DONE
compiled [PASSWORD_DOTS] 13.02ms DONE
events [PASSWORD_DOTS] 11.48ms DONE
routes [PASSWORD_DOTS] 6.30ms DONE
views [PASSWORD_DOTS] 51.86ms 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
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-es-update:worker-es-update_00: stopped
worker-emails:worker-emails_00: stopped
worker-audio:worker-audio_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-syn...
|
18285
|
NULL
|
NULL
|
NULL
|
|
18187
|
NULL
|
0
|
2026-05-11T11:03:04.180492+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778497384180_m2.jpg...
|
PhpStorm
|
faVsco.js – Client.php
|
1
|
NULL
|
monitor_2
|
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
2
67
3
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Services\Crm\Hubspot;
use HubSpot\Client\Crm\Deals\ApiException as DealApiException;
use HubSpot\Client\Crm\Contacts\ApiException as ContactApiException;
use HubSpot\Client\Crm\Companies\ApiException as CompanyApiException;
use HubSpot\Client\Crm\Contacts\Model\SimplePublicObjectWithAssociations as ContactsWithAssociations;
use HubSpot\Client\Crm\Companies\Model\SimplePublicObjectWithAssociations as CompaniesWithAssociations;
use HubSpot\Client\Crm\Deals\Model\SimplePublicObjectWithAssociations as DealWithAssociations;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectInput;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectWithAssociations as ObjectWithAssociations;
use HubSpot\Client\Crm\Pipelines\Model\Error;
use HubSpot\Client\Crm\Pipelines\Model\PipelineStage;
use HubSpot\Client\Crm\Properties\Model\Property;
use HubSpot\Discovery\Discovery;
use Jiminny\Exceptions\CrmException;
use Jiminny\Exceptions\RateLimitException;
use Jiminny\Exceptions\SocialAccountTokenInvalidException;
use Jiminny\Jobs\Crm\NoteObject;
use Jiminny\Models\Crm\Field;
use Jiminny\Services\Crm\BaseClient;
use Jiminny\Services\Crm\Hubspot\DTO\Response\Owner;
use Jiminny\Services\SocialAccountService;
use SevenShores\Hubspot\Exceptions\BadRequest;
use SevenShores\Hubspot\Exceptions\HubspotException;
use SevenShores\Hubspot\Factory;
use SevenShores\Hubspot\Http\Response;
use Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService;
use Illuminate\Support\Facades\Redis;
use Throwable;
/**
* @phpstan-type 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)
{
$cacheKey = $this->getRateLimitCacheKey();
$cachedRetryAfter = Redis::get($cacheKey);
if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {
throw new RateLimitException(
'Hubspot rate limit (cached circuit-breaker)',
(int) $cachedRetryAfter,
);
}
try {
return $apiCall();
} catch (Throwable $e) {
if ($this->isHubspotRateLimit($e)) {
$retryAfter = $this->parseRetryAfter($e);
Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);
$this->log->warning('[Hubspot] Received 429 from API', [
'team_id' => $this->config->team_id,
'config_id' => $this->config->getId(),
'retry_after' => $retryAfter,
'message' => $this->parseMessage($e),
'reason' => $e->getMessage(),
]);
throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);
}
throw $e;
}
}
private function getRateLimitCacheKey(): string
{
return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());
}
public function isHubspotRateLimit(Throwable $e): bool
{
if ($e instanceof BadRequest
|| $e instanceof DealApiException
|| $e instanceof ContactApiException
|| $e instanceof CompanyApiException
|| $e instanceof \GuzzleHttp\Exception\RequestException
) {
return (int) $e->getCode() === 429;
}
return false;
}
public 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;
}
}
$message = strtolower($this->parseMessage($e));
if (str_contains($message, 'daily')) {
return 600;
}
if (str_contains($message, 'ten secondly')) {
return 10;
}
if (str_contains($message, 'secondly')) {
return 1;
}
$this->log->warning('[Hubspot] No retry-after header or known message, using default', [
'exception_class' => get_class($e),
'message' => $message,
]);
return 10;
}
public function parseMessage(Throwable $e): string
{
if (! method_exists($e, 'getResponseBody')) {
return '';
}
$body = $e->getResponseBody();
if (is_string($body)) {
$body = json_decode($body, true) ?? [];
}
if (! is_array($body)) {
return '';
}
return (string) ($body['message'] ?? '');
}
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
);
}
/**
* Execute a search request against HubSpot CRM objects with rate limiting.
*
* @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')
* @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.
* @return array The search response with 'results', 'total', 'paging' keys
* @throws RateLimitException When rate limit is hit
* @throws HubspotException On API errors
*/
public function search(string $objectType, array $payload): array
{
$endpoint = self::BASE_URL . "/crm/v3/objects/{$objectType}/search";
return $this->executeRequest(function () use ($endpoint, $payload) {
$response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);
return $response->toArray();
});
}
/**
* @throws DealApiException
* @throws CrmException
*/
public function getOpportunityById(string $crmId, array $fields): array
{
try {
// $deal = $this->executeRequest(fn () => $this->getNewInstance()->crm()->deals()->basicApi()->getById(
$deal = $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') {
return $this->getInstance()->getClient()?->request(
method: $method,
endpoint: $endpoint,
query_string: $queryString
);
} else {
return $this->getInstance()->getClient()->request($method, $endpoint, [
'json' => ($payload),
]);
}
}
/**
* @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 (RateLimitException $e) {
// throw $e;
} 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);
}
}
Sync Changes
Hide This Notification
Code changed:
Hide
19
Previous Highlighted Error
Next Highlighted Error
[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {
"headers":{
"Date":["Thu,07 May 2026 14:21:15 GMT"],
"Content-Type":["application/json;charset=utf-8"],
"Transfer-Encoding":["chunked"],
"Connection":["keep-alive"],
"CF-Ray":["9f80deb8db60dc3a-SOF"],
"CF-Cache-Status":["DYNAMIC"],
"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],
"Vary":["origin,
accept-encoding"],
"access-control-allow-credentials":["false"],
"server-timing":["hcid;desc=\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\",
cfr;desc=\"9f80deb8e7c6dc3a-IAD\""],
"x-content-type-options":["nosniff"],
"x-hubspot-correlation-id":["019e02d0-6fd8-7812-bdba-885b7ccb3ee3"],
"Set-Cookie":["__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-[IP_ADDRESS]-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,
07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None"],
"Report-To":["{
\"endpoints\":[{
\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\"}],
\"group\":\"cf-nel\",
\"max_age\":604800}"],
"NEL":["{
\"success_fraction\":0.01,
\"report_to\":\"cf-nel\",
\"max_age\":604800}"],
"Server":["cloudflare"]}} {
"correlation_id":"95236535-ec98-4541-b92a-adfa73b69eab",
"trace_id":"c7ab8365-903f-46d4-9403-0e5b551e3545"}
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":"JY-20725-handle-HS-search-rate-limit, menu","depth":5,"bounds":{"left":0.064494684,"top":0.019952115,"width":0.09541223,"height":0.025538707},"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,"bounds":{"left":0.82413566,"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":"HandleHubspotRateLimitTest","depth":6,"bounds":{"left":0.8394282,"top":0.019952115,"width":0.076130316,"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 'HandleHubspotRateLimitTest'","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 'HandleHubspotRateLimitTest'","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":"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.41156915,"top":0.19952115,"width":0.007978723,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"67","depth":4,"bounds":{"left":0.42154256,"top":0.19952115,"width":0.009973404,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":4,"bounds":{"left":0.43351063,"top":0.19952115,"width":0.007978723,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.4431516,"top":0.19792499,"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.4504654,"top":0.19792499,"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":"<?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\\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 Illuminate\\Support\\Facades\\Redis;\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\n public function __construct(\n SocialAccountService $socialAccountService,\n HubspotPaginationService $paginationService,\n HubspotTokenManager $tokenManager\n ) {\n parent::__construct($socialAccountService);\n $this->paginationService = $paginationService;\n $this->tokenManager = $tokenManager;\n\n $this->setBaseUrl(self::BASE_URL);\n $this->setVersion(self::MIN_API_VERSION);\n }\n\n /**\n * Reacts to a rate limits (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 $cacheKey = $this->getRateLimitCacheKey();\n\n $cachedRetryAfter = Redis::get($cacheKey);\n if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {\n throw new RateLimitException(\n 'Hubspot rate limit (cached circuit-breaker)',\n (int) $cachedRetryAfter,\n );\n }\n\n try {\n return $apiCall();\n } catch (Throwable $e) {\n if ($this->isHubspotRateLimit($e)) {\n $retryAfter = $this->parseRetryAfter($e);\n\n Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);\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 'message' => $this->parseMessage($e),\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 getRateLimitCacheKey(): string\n {\n return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());\n }\n\n public function isHubspotRateLimit(Throwable $e): bool\n {\n if ($e instanceof BadRequest\n || $e instanceof DealApiException\n || $e instanceof ContactApiException\n || $e instanceof CompanyApiException\n || $e instanceof \\GuzzleHttp\\Exception\\RequestException\n ) {\n return (int) $e->getCode() === 429;\n }\n\n return false;\n }\n\n public 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 $message = strtolower($this->parseMessage($e));\n\n if (str_contains($message, 'daily')) {\n return 600;\n }\n if (str_contains($message, 'ten secondly')) {\n return 10;\n }\n if (str_contains($message, 'secondly')) {\n return 1;\n }\n\n $this->log->warning('[Hubspot] No retry-after header or known message, using default', [\n 'exception_class' => get_class($e),\n 'message' => $message,\n ]);\n\n return 10;\n }\n\n public function parseMessage(Throwable $e): string\n {\n if (! method_exists($e, 'getResponseBody')) {\n return '';\n }\n\n $body = $e->getResponseBody();\n if (is_string($body)) {\n $body = json_decode($body, true) ?? [];\n }\n\n if (! is_array($body)) {\n return '';\n }\n\n return (string) ($body['message'] ?? '');\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 * Execute a search request against HubSpot CRM objects with rate limiting.\n *\n * @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')\n * @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.\n * @return array The search response with 'results', 'total', 'paging' keys\n * @throws RateLimitException When rate limit is hit\n * @throws HubspotException On API errors\n */\n public function search(string $objectType, array $payload): array\n {\n $endpoint = self::BASE_URL . \"/crm/v3/objects/{$objectType}/search\";\n\n return $this->executeRequest(function () use ($endpoint, $payload) {\n $response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);\n\n return $response->toArray();\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 $deal = $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 return $this->getInstance()->getClient()?->request(\n method: $method,\n endpoint: $endpoint,\n query_string: $queryString\n );\n } else {\n return $this->getInstance()->getClient()->request($method, $endpoint, [\n 'json' => ($payload),\n ]);\n }\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 (RateLimitException $e) {\n// throw $e;\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\\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 Illuminate\\Support\\Facades\\Redis;\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\n public function __construct(\n SocialAccountService $socialAccountService,\n HubspotPaginationService $paginationService,\n HubspotTokenManager $tokenManager\n ) {\n parent::__construct($socialAccountService);\n $this->paginationService = $paginationService;\n $this->tokenManager = $tokenManager;\n\n $this->setBaseUrl(self::BASE_URL);\n $this->setVersion(self::MIN_API_VERSION);\n }\n\n /**\n * Reacts to a rate limits (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 $cacheKey = $this->getRateLimitCacheKey();\n\n $cachedRetryAfter = Redis::get($cacheKey);\n if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {\n throw new RateLimitException(\n 'Hubspot rate limit (cached circuit-breaker)',\n (int) $cachedRetryAfter,\n );\n }\n\n try {\n return $apiCall();\n } catch (Throwable $e) {\n if ($this->isHubspotRateLimit($e)) {\n $retryAfter = $this->parseRetryAfter($e);\n\n Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);\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 'message' => $this->parseMessage($e),\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 getRateLimitCacheKey(): string\n {\n return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());\n }\n\n public function isHubspotRateLimit(Throwable $e): bool\n {\n if ($e instanceof BadRequest\n || $e instanceof DealApiException\n || $e instanceof ContactApiException\n || $e instanceof CompanyApiException\n || $e instanceof \\GuzzleHttp\\Exception\\RequestException\n ) {\n return (int) $e->getCode() === 429;\n }\n\n return false;\n }\n\n public 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 $message = strtolower($this->parseMessage($e));\n\n if (str_contains($message, 'daily')) {\n return 600;\n }\n if (str_contains($message, 'ten secondly')) {\n return 10;\n }\n if (str_contains($message, 'secondly')) {\n return 1;\n }\n\n $this->log->warning('[Hubspot] No retry-after header or known message, using default', [\n 'exception_class' => get_class($e),\n 'message' => $message,\n ]);\n\n return 10;\n }\n\n public function parseMessage(Throwable $e): string\n {\n if (! method_exists($e, 'getResponseBody')) {\n return '';\n }\n\n $body = $e->getResponseBody();\n if (is_string($body)) {\n $body = json_decode($body, true) ?? [];\n }\n\n if (! is_array($body)) {\n return '';\n }\n\n return (string) ($body['message'] ?? '');\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 * Execute a search request against HubSpot CRM objects with rate limiting.\n *\n * @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')\n * @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.\n * @return array The search response with 'results', 'total', 'paging' keys\n * @throws RateLimitException When rate limit is hit\n * @throws HubspotException On API errors\n */\n public function search(string $objectType, array $payload): array\n {\n $endpoint = self::BASE_URL . \"/crm/v3/objects/{$objectType}/search\";\n\n return $this->executeRequest(function () use ($endpoint, $payload) {\n $response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);\n\n return $response->toArray();\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 $deal = $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 return $this->getInstance()->getClient()?->request(\n method: $method,\n endpoint: $endpoint,\n query_string: $queryString\n );\n } else {\n return $this->getInstance()->getClient()->request($method, $endpoint, [\n 'json' => ($payload),\n ]);\n }\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 (RateLimitException $e) {\n// throw $e;\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":"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":"19","depth":4,"bounds":{"left":0.7124335,"top":0.10055866,"width":0.009640957,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.7237367,"top":0.09896249,"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.73105055,"top":0.09896249,"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":"[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {\n\"headers\":{\n\"Date\":[\"Thu,07 May 2026 14:21:15 GMT\"],\n \"Content-Type\":[\"application/json;charset=utf-8\"],\n \"Transfer-Encoding\":[\"chunked\"],\n \"Connection\":[\"keep-alive\"],\n \"CF-Ray\":[\"9f80deb8db60dc3a-SOF\"],\n \"CF-Cache-Status\":[\"DYNAMIC\"],\n \"Strict-Transport-Security\":[\"max-age=31536000; includeSubDomains; preload\"],\n \"Vary\":[\"origin,\n accept-encoding\"],\n \"access-control-allow-credentials\":[\"false\"],\n \"server-timing\":[\"hcid;desc=\\\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\\\",\n cfr;desc=\\\"9f80deb8e7c6dc3a-IAD\\\"\"],\n \"x-content-type-options\":[\"nosniff\"],\n \"x-hubspot-correlation-id\":[\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\"],\n \"Set-Cookie\":[\"__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-1.0.1.1-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,\n 07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None\"],\n \"Report-To\":[\"{\n\\\"endpoints\\\":[{\n\\\"url\\\":\\\"https:\\\\/\\\\/a.nel.cloudflare.com\\\\/report\\\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\\\"}],\n\\\"group\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"NEL\":[\"{\n\\\"success_fraction\\\":0.01,\n\\\"report_to\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"Server\":[\"cloudflare\"]}} {\n\"correlation_id\":\"95236535-ec98-4541-b92a-adfa73b69eab\",\n\"trace_id\":\"c7ab8365-903f-46d4-9403-0e5b551e3545\"}","depth":4,"bounds":{"left":0.47672874,"top":0.09736632,"width":0.52327126,"height":0.8818835},"on_screen":true,"lines":[{"char_start":207,"char_count":30,"bounds":{"left":0.47672874,"top":0.0,"width":0.07513298,"height":0.014365523}},{"char_start":237,"char_count":36,"bounds":{"left":0.47672874,"top":0.0,"width":0.09075798,"height":0.014365523}},{"char_start":273,"char_count":32,"bounds":{"left":0.47672874,"top":0.0,"width":0.080119684,"height":0.014365523}},{"char_start":305,"char_count":79,"bounds":{"left":0.47672874,"top":0.0,"width":0.20212767,"height":0.014365523}},{"char_start":384,"char_count":18,"bounds":{"left":0.47672874,"top":0.0,"width":0.043882977,"height":0.014365523}},{"char_start":402,"char_count":21,"bounds":{"left":0.47672874,"top":0.0,"width":0.051861703,"height":0.014365523}},{"char_start":423,"char_count":48,"bounds":{"left":0.47672874,"top":0.008778931,"width":0.12167553,"height":0.014365523}},{"char_start":471,"char_count":72,"bounds":{"left":0.47672874,"top":0.026336791,"width":0.18384309,"height":0.014365523}},{"char_start":543,"char_count":40,"bounds":{"left":0.47672874,"top":0.043894652,"width":0.10106383,"height":0.014365523}},{"char_start":583,"char_count":41,"bounds":{"left":0.47672874,"top":0.061452515,"width":0.10372341,"height":0.014365523}},{"char_start":624,"char_count":72,"bounds":{"left":0.47672874,"top":0.079010375,"width":0.18384309,"height":0.014365523}},{"char_start":696,"char_count":219,"bounds":{"left":0.47672874,"top":0.096568234,"width":0.52327126,"height":0.014365523}},{"char_start":915,"char_count":83,"bounds":{"left":0.47672874,"top":0.11412609,"width":0.21243352,"height":0.014365523}},{"char_start":998,"char_count":20,"bounds":{"left":0.47672874,"top":0.13168396,"width":0.04920213,"height":0.014365523}},{"char_start":1018,"char_count":17,"bounds":{"left":0.47672874,"top":0.14924182,"width":0.041223403,"height":0.014365523}},{"char_start":1035,"char_count":203,"bounds":{"left":0.47672874,"top":0.16679968,"width":0.52327126,"height":0.014365523}},{"char_start":1238,"char_count":22,"bounds":{"left":0.47672874,"top":0.18435754,"width":0.05418883,"height":0.014365523}},{"char_start":1260,"char_count":23,"bounds":{"left":0.47672874,"top":0.2019154,"width":0.056848403,"height":0.014365523}},{"char_start":1283,"char_count":10,"bounds":{"left":0.47672874,"top":0.21947326,"width":0.023271276,"height":0.014365523}},{"char_start":1293,"char_count":27,"bounds":{"left":0.47672874,"top":0.23703113,"width":0.06715426,"height":0.014365523}},{"char_start":1320,"char_count":26,"bounds":{"left":0.47672874,"top":0.254589,"width":0.06482713,"height":0.014365523}},{"char_start":1346,"char_count":23,"bounds":{"left":0.47672874,"top":0.27214685,"width":0.056848403,"height":0.014365523}},{"char_start":1369,"char_count":28,"bounds":{"left":0.47672874,"top":0.2897047,"width":0.06981383,"height":0.014365523}},{"char_start":1397,"char_count":57,"bounds":{"left":0.47672874,"top":0.30726257,"width":0.14494681,"height":0.014365523}}],"value":"[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {\n\"headers\":{\n\"Date\":[\"Thu,07 May 2026 14:21:15 GMT\"],\n \"Content-Type\":[\"application/json;charset=utf-8\"],\n \"Transfer-Encoding\":[\"chunked\"],\n \"Connection\":[\"keep-alive\"],\n \"CF-Ray\":[\"9f80deb8db60dc3a-SOF\"],\n \"CF-Cache-Status\":[\"DYNAMIC\"],\n \"Strict-Transport-Security\":[\"max-age=31536000; includeSubDomains; preload\"],\n \"Vary\":[\"origin,\n accept-encoding\"],\n \"access-control-allow-credentials\":[\"false\"],\n \"server-timing\":[\"hcid;desc=\\\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\\\",\n cfr;desc=\\\"9f80deb8e7c6dc3a-IAD\\\"\"],\n \"x-content-type-options\":[\"nosniff\"],\n \"x-hubspot-correlation-id\":[\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\"],\n \"Set-Cookie\":[\"__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-1.0.1.1-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,\n 07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None\"],\n \"Report-To\":[\"{\n\\\"endpoints\\\":[{\n\\\"url\\\":\\\"https:\\\\/\\\\/a.nel.cloudflare.com\\\\/report\\\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\\\"}],\n\\\"group\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"NEL\":[\"{\n\\\"success_fraction\\\":0.01,\n\\\"report_to\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"Server\":[\"cloudflare\"]}} {\n\"correlation_id\":\"95236535-ec98-4541-b92a-adfa73b69eab\",\n\"trace_id\":\"c7ab8365-903f-46d4-9403-0e5b551e3545\"}","role_description":"text entry area","is_enabled":true,"is_focused":false,"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}]...
|
5549352204577814028
|
6378757150172121188
|
idle
|
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
2
67
3
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Services\Crm\Hubspot;
use HubSpot\Client\Crm\Deals\ApiException as DealApiException;
use HubSpot\Client\Crm\Contacts\ApiException as ContactApiException;
use HubSpot\Client\Crm\Companies\ApiException as CompanyApiException;
use HubSpot\Client\Crm\Contacts\Model\SimplePublicObjectWithAssociations as ContactsWithAssociations;
use HubSpot\Client\Crm\Companies\Model\SimplePublicObjectWithAssociations as CompaniesWithAssociations;
use HubSpot\Client\Crm\Deals\Model\SimplePublicObjectWithAssociations as DealWithAssociations;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectInput;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectWithAssociations as ObjectWithAssociations;
use HubSpot\Client\Crm\Pipelines\Model\Error;
use HubSpot\Client\Crm\Pipelines\Model\PipelineStage;
use HubSpot\Client\Crm\Properties\Model\Property;
use HubSpot\Discovery\Discovery;
use Jiminny\Exceptions\CrmException;
use Jiminny\Exceptions\RateLimitException;
use Jiminny\Exceptions\SocialAccountTokenInvalidException;
use Jiminny\Jobs\Crm\NoteObject;
use Jiminny\Models\Crm\Field;
use Jiminny\Services\Crm\BaseClient;
use Jiminny\Services\Crm\Hubspot\DTO\Response\Owner;
use Jiminny\Services\SocialAccountService;
use SevenShores\Hubspot\Exceptions\BadRequest;
use SevenShores\Hubspot\Exceptions\HubspotException;
use SevenShores\Hubspot\Factory;
use SevenShores\Hubspot\Http\Response;
use Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService;
use Illuminate\Support\Facades\Redis;
use Throwable;
/**
* @phpstan-type 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)
{
$cacheKey = $this->getRateLimitCacheKey();
$cachedRetryAfter = Redis::get($cacheKey);
if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {
throw new RateLimitException(
'Hubspot rate limit (cached circuit-breaker)',
(int) $cachedRetryAfter,
);
}
try {
return $apiCall();
} catch (Throwable $e) {
if ($this->isHubspotRateLimit($e)) {
$retryAfter = $this->parseRetryAfter($e);
Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);
$this->log->warning('[Hubspot] Received 429 from API', [
'team_id' => $this->config->team_id,
'config_id' => $this->config->getId(),
'retry_after' => $retryAfter,
'message' => $this->parseMessage($e),
'reason' => $e->getMessage(),
]);
throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);
}
throw $e;
}
}
private function getRateLimitCacheKey(): string
{
return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());
}
public function isHubspotRateLimit(Throwable $e): bool
{
if ($e instanceof BadRequest
|| $e instanceof DealApiException
|| $e instanceof ContactApiException
|| $e instanceof CompanyApiException
|| $e instanceof \GuzzleHttp\Exception\RequestException
) {
return (int) $e->getCode() === 429;
}
return false;
}
public 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;
}
}
$message = strtolower($this->parseMessage($e));
if (str_contains($message, 'daily')) {
return 600;
}
if (str_contains($message, 'ten secondly')) {
return 10;
}
if (str_contains($message, 'secondly')) {
return 1;
}
$this->log->warning('[Hubspot] No retry-after header or known message, using default', [
'exception_class' => get_class($e),
'message' => $message,
]);
return 10;
}
public function parseMessage(Throwable $e): string
{
if (! method_exists($e, 'getResponseBody')) {
return '';
}
$body = $e->getResponseBody();
if (is_string($body)) {
$body = json_decode($body, true) ?? [];
}
if (! is_array($body)) {
return '';
}
return (string) ($body['message'] ?? '');
}
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
);
}
/**
* Execute a search request against HubSpot CRM objects with rate limiting.
*
* @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')
* @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.
* @return array The search response with 'results', 'total', 'paging' keys
* @throws RateLimitException When rate limit is hit
* @throws HubspotException On API errors
*/
public function search(string $objectType, array $payload): array
{
$endpoint = self::BASE_URL . "/crm/v3/objects/{$objectType}/search";
return $this->executeRequest(function () use ($endpoint, $payload) {
$response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);
return $response->toArray();
});
}
/**
* @throws DealApiException
* @throws CrmException
*/
public function getOpportunityById(string $crmId, array $fields): array
{
try {
// $deal = $this->executeRequest(fn () => $this->getNewInstance()->crm()->deals()->basicApi()->getById(
$deal = $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') {
return $this->getInstance()->getClient()?->request(
method: $method,
endpoint: $endpoint,
query_string: $queryString
);
} else {
return $this->getInstance()->getClient()->request($method, $endpoint, [
'json' => ($payload),
]);
}
}
/**
* @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 (RateLimitException $e) {
// throw $e;
} 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);
}
}
Sync Changes
Hide This Notification
Code changed:
Hide
19
Previous Highlighted Error
Next Highlighted Error
[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {
"headers":{
"Date":["Thu,07 May 2026 14:21:15 GMT"],
"Content-Type":["application/json;charset=utf-8"],
"Transfer-Encoding":["chunked"],
"Connection":["keep-alive"],
"CF-Ray":["9f80deb8db60dc3a-SOF"],
"CF-Cache-Status":["DYNAMIC"],
"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],
"Vary":["origin,
accept-encoding"],
"access-control-allow-credentials":["false"],
"server-timing":["hcid;desc=\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\",
cfr;desc=\"9f80deb8e7c6dc3a-IAD\""],
"x-content-type-options":["nosniff"],
"x-hubspot-correlation-id":["019e02d0-6fd8-7812-bdba-885b7ccb3ee3"],
"Set-Cookie":["__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-[IP_ADDRESS]-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,
07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None"],
"Report-To":["{
\"endpoints\":[{
\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\"}],
\"group\":\"cf-nel\",
\"max_age\":604800}"],
"NEL":["{
\"success_fraction\":0.01,
\"report_to\":\"cf-nel\",
\"max_age\":604800}"],
"Server":["cloudflare"]}} {
"correlation_id":"95236535-ec98-4541-b92a-adfa73b69eab",
"trace_id":"c7ab8365-903f-46d4-9403-0e5b551e3545"}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
18186
|
NULL
|
0
|
2026-05-11T11:03:02.631548+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778497382631_m1.jpg...
|
PhpStorm
|
faVsco.js – Client.php
|
1
|
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
2
67
3
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Services\Crm\Hubspot;
use HubSpot\Client\Crm\Deals\ApiException as DealApiException;
use HubSpot\Client\Crm\Contacts\ApiException as ContactApiException;
use HubSpot\Client\Crm\Companies\ApiException as CompanyApiException;
use HubSpot\Client\Crm\Contacts\Model\SimplePublicObjectWithAssociations as ContactsWithAssociations;
use HubSpot\Client\Crm\Companies\Model\SimplePublicObjectWithAssociations as CompaniesWithAssociations;
use HubSpot\Client\Crm\Deals\Model\SimplePublicObjectWithAssociations as DealWithAssociations;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectInput;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectWithAssociations as ObjectWithAssociations;
use HubSpot\Client\Crm\Pipelines\Model\Error;
use HubSpot\Client\Crm\Pipelines\Model\PipelineStage;
use HubSpot\Client\Crm\Properties\Model\Property;
use HubSpot\Discovery\Discovery;
use Jiminny\Exceptions\CrmException;
use Jiminny\Exceptions\RateLimitException;
use Jiminny\Exceptions\SocialAccountTokenInvalidException;
use Jiminny\Jobs\Crm\NoteObject;
use Jiminny\Models\Crm\Field;
use Jiminny\Services\Crm\BaseClient;
use Jiminny\Services\Crm\Hubspot\DTO\Response\Owner;
use Jiminny\Services\SocialAccountService;
use SevenShores\Hubspot\Exceptions\BadRequest;
use SevenShores\Hubspot\Exceptions\HubspotException;
use SevenShores\Hubspot\Factory;
use SevenShores\Hubspot\Http\Response;
use Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService;
use Illuminate\Support\Facades\Redis;
use Throwable;
/**
* @phpstan-type 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)
{
$cacheKey = $this->getRateLimitCacheKey();
$cachedRetryAfter = Redis::get($cacheKey);
if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {
throw new RateLimitException(
'Hubspot rate limit (cached circuit-breaker)',
(int) $cachedRetryAfter,
);
}
try {
return $apiCall();
} catch (Throwable $e) {
if ($this->isHubspotRateLimit($e)) {
$retryAfter = $this->parseRetryAfter($e);
Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);
$this->log->warning('[Hubspot] Received 429 from API', [
'team_id' => $this->config->team_id,
'config_id' => $this->config->getId(),
'retry_after' => $retryAfter,
'message' => $this->parseMessage($e),
'reason' => $e->getMessage(),
]);
throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);
}
throw $e;
}
}
private function getRateLimitCacheKey(): string
{
return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());
}
public function isHubspotRateLimit(Throwable $e): bool
{
if ($e instanceof BadRequest
|| $e instanceof DealApiException
|| $e instanceof ContactApiException
|| $e instanceof CompanyApiException
|| $e instanceof \GuzzleHttp\Exception\RequestException
) {
return (int) $e->getCode() === 429;
}
return false;
}
public 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;
}
}
$message = strtolower($this->parseMessage($e));
if (str_contains($message, 'daily')) {
return 600;
}
if (str_contains($message, 'ten secondly')) {
return 10;
}
if (str_contains($message, 'secondly')) {
return 1;
}
$this->log->warning('[Hubspot] No retry-after header or known message, using default', [
'exception_class' => get_class($e),
'message' => $message,
]);
return 10;
}
public function parseMessage(Throwable $e): string
{
if (! method_exists($e, 'getResponseBody')) {
return '';
}
$body = $e->getResponseBody();
if (is_string($body)) {
$body = json_decode($body, true) ?? [];
}
if (! is_array($body)) {
return '';
}
return (string) ($body['message'] ?? '');
}
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
);
}
/**
* Execute a search request against HubSpot CRM objects with rate limiting.
*
* @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')
* @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.
* @return array The search response with 'results', 'total', 'paging' keys
* @throws RateLimitException When rate limit is hit
* @throws HubspotException On API errors
*/
public function search(string $objectType, array $payload): array
{
$endpoint = self::BASE_URL . "/crm/v3/objects/{$objectType}/search";
return $this->executeRequest(function () use ($endpoint, $payload) {
$response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);
return $response->toArray();
});
}
/**
* @throws DealApiException
* @throws CrmException
*/
public function getOpportunityById(string $crmId, array $fields): array
{
try {
// $deal = $this->executeRequest(fn () => $this->getNewInstance()->crm()->deals()->basicApi()->getById(
$deal = $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') {
return $this->getInstance()->getClient()?->request(
method: $method,
endpoint: $endpoint,
query_string: $queryString
);
} else {
return $this->getInstance()->getClient()->request($method, $endpoint, [
'json' => ($payload),
]);
}
}
/**
* @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 (RateLimitException $e) {
// throw $e;
} 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);
}
}
Sync Changes
Hide This Notification
Code changed:
Hide
19
Previous Highlighted Error
Next Highlighted Error
[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {
"headers":{
"Date":["Thu,07 May 2026 14:21:15 GMT"],
"Content-Type":["application/json;charset=utf-8"],
"Transfer-Encoding":["chunked"],
"Connection":["keep-alive"],
"CF-Ray":["9f80deb8db60dc3a-SOF"],
"CF-Cache-Status":["DYNAMIC"],
"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],
"Vary":["origin,
accept-encoding"],
"access-control-allow-credentials":["false"],
"server-timing":["hcid;desc=\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\",
cfr;desc=\"9f80deb8e7c6dc3a-IAD\""],
"x-content-type-options":["nosniff"],
"x-hubspot-correlation-id":["019e02d0-6fd8-7812-bdba-885b7ccb3ee3"],
"Set-Cookie":["__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-[IP_ADDRESS]-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,
07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None"],
"Report-To":["{
\"endpoints\":[{
\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\"}],
\"group\":\"cf-nel\",
\"max_age\":604800}"],
"NEL":["{
\"success_fraction\":0.01,
\"report_to\":\"cf-nel\",
\"max_age\":604800}"],
"Server":["cloudflare"]}} {
"correlation_id":"95236535-ec98-4541-b92a-adfa73b69eab",
"trace_id":"c7ab8365-903f-46d4-9403-0e5b551e3545"}
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":"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":"2","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"67","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","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\\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\\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 Illuminate\\Support\\Facades\\Redis;\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\n public function __construct(\n SocialAccountService $socialAccountService,\n HubspotPaginationService $paginationService,\n HubspotTokenManager $tokenManager\n ) {\n parent::__construct($socialAccountService);\n $this->paginationService = $paginationService;\n $this->tokenManager = $tokenManager;\n\n $this->setBaseUrl(self::BASE_URL);\n $this->setVersion(self::MIN_API_VERSION);\n }\n\n /**\n * Reacts to a rate limits (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 $cacheKey = $this->getRateLimitCacheKey();\n\n $cachedRetryAfter = Redis::get($cacheKey);\n if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {\n throw new RateLimitException(\n 'Hubspot rate limit (cached circuit-breaker)',\n (int) $cachedRetryAfter,\n );\n }\n\n try {\n return $apiCall();\n } catch (Throwable $e) {\n if ($this->isHubspotRateLimit($e)) {\n $retryAfter = $this->parseRetryAfter($e);\n\n Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);\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 'message' => $this->parseMessage($e),\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 getRateLimitCacheKey(): string\n {\n return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());\n }\n\n public function isHubspotRateLimit(Throwable $e): bool\n {\n if ($e instanceof BadRequest\n || $e instanceof DealApiException\n || $e instanceof ContactApiException\n || $e instanceof CompanyApiException\n || $e instanceof \\GuzzleHttp\\Exception\\RequestException\n ) {\n return (int) $e->getCode() === 429;\n }\n\n return false;\n }\n\n public 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 $message = strtolower($this->parseMessage($e));\n\n if (str_contains($message, 'daily')) {\n return 600;\n }\n if (str_contains($message, 'ten secondly')) {\n return 10;\n }\n if (str_contains($message, 'secondly')) {\n return 1;\n }\n\n $this->log->warning('[Hubspot] No retry-after header or known message, using default', [\n 'exception_class' => get_class($e),\n 'message' => $message,\n ]);\n\n return 10;\n }\n\n public function parseMessage(Throwable $e): string\n {\n if (! method_exists($e, 'getResponseBody')) {\n return '';\n }\n\n $body = $e->getResponseBody();\n if (is_string($body)) {\n $body = json_decode($body, true) ?? [];\n }\n\n if (! is_array($body)) {\n return '';\n }\n\n return (string) ($body['message'] ?? '');\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 * Execute a search request against HubSpot CRM objects with rate limiting.\n *\n * @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')\n * @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.\n * @return array The search response with 'results', 'total', 'paging' keys\n * @throws RateLimitException When rate limit is hit\n * @throws HubspotException On API errors\n */\n public function search(string $objectType, array $payload): array\n {\n $endpoint = self::BASE_URL . \"/crm/v3/objects/{$objectType}/search\";\n\n return $this->executeRequest(function () use ($endpoint, $payload) {\n $response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);\n\n return $response->toArray();\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 $deal = $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 return $this->getInstance()->getClient()?->request(\n method: $method,\n endpoint: $endpoint,\n query_string: $queryString\n );\n } else {\n return $this->getInstance()->getClient()->request($method, $endpoint, [\n 'json' => ($payload),\n ]);\n }\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 (RateLimitException $e) {\n// throw $e;\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\\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 Illuminate\\Support\\Facades\\Redis;\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\n public function __construct(\n SocialAccountService $socialAccountService,\n HubspotPaginationService $paginationService,\n HubspotTokenManager $tokenManager\n ) {\n parent::__construct($socialAccountService);\n $this->paginationService = $paginationService;\n $this->tokenManager = $tokenManager;\n\n $this->setBaseUrl(self::BASE_URL);\n $this->setVersion(self::MIN_API_VERSION);\n }\n\n /**\n * Reacts to a rate limits (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 $cacheKey = $this->getRateLimitCacheKey();\n\n $cachedRetryAfter = Redis::get($cacheKey);\n if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {\n throw new RateLimitException(\n 'Hubspot rate limit (cached circuit-breaker)',\n (int) $cachedRetryAfter,\n );\n }\n\n try {\n return $apiCall();\n } catch (Throwable $e) {\n if ($this->isHubspotRateLimit($e)) {\n $retryAfter = $this->parseRetryAfter($e);\n\n Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);\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 'message' => $this->parseMessage($e),\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 getRateLimitCacheKey(): string\n {\n return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());\n }\n\n public function isHubspotRateLimit(Throwable $e): bool\n {\n if ($e instanceof BadRequest\n || $e instanceof DealApiException\n || $e instanceof ContactApiException\n || $e instanceof CompanyApiException\n || $e instanceof \\GuzzleHttp\\Exception\\RequestException\n ) {\n return (int) $e->getCode() === 429;\n }\n\n return false;\n }\n\n public 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 $message = strtolower($this->parseMessage($e));\n\n if (str_contains($message, 'daily')) {\n return 600;\n }\n if (str_contains($message, 'ten secondly')) {\n return 10;\n }\n if (str_contains($message, 'secondly')) {\n return 1;\n }\n\n $this->log->warning('[Hubspot] No retry-after header or known message, using default', [\n 'exception_class' => get_class($e),\n 'message' => $message,\n ]);\n\n return 10;\n }\n\n public function parseMessage(Throwable $e): string\n {\n if (! method_exists($e, 'getResponseBody')) {\n return '';\n }\n\n $body = $e->getResponseBody();\n if (is_string($body)) {\n $body = json_decode($body, true) ?? [];\n }\n\n if (! is_array($body)) {\n return '';\n }\n\n return (string) ($body['message'] ?? '');\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 * Execute a search request against HubSpot CRM objects with rate limiting.\n *\n * @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')\n * @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.\n * @return array The search response with 'results', 'total', 'paging' keys\n * @throws RateLimitException When rate limit is hit\n * @throws HubspotException On API errors\n */\n public function search(string $objectType, array $payload): array\n {\n $endpoint = self::BASE_URL . \"/crm/v3/objects/{$objectType}/search\";\n\n return $this->executeRequest(function () use ($endpoint, $payload) {\n $response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);\n\n return $response->toArray();\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 $deal = $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 return $this->getInstance()->getClient()?->request(\n method: $method,\n endpoint: $endpoint,\n query_string: $queryString\n );\n } else {\n return $this->getInstance()->getClient()->request($method, $endpoint, [\n 'json' => ($payload),\n ]);\n }\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 (RateLimitException $e) {\n// throw $e;\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":"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":"19","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-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {\n\"headers\":{\n\"Date\":[\"Thu,07 May 2026 14:21:15 GMT\"],\n \"Content-Type\":[\"application/json;charset=utf-8\"],\n \"Transfer-Encoding\":[\"chunked\"],\n \"Connection\":[\"keep-alive\"],\n \"CF-Ray\":[\"9f80deb8db60dc3a-SOF\"],\n \"CF-Cache-Status\":[\"DYNAMIC\"],\n \"Strict-Transport-Security\":[\"max-age=31536000; includeSubDomains; preload\"],\n \"Vary\":[\"origin,\n accept-encoding\"],\n \"access-control-allow-credentials\":[\"false\"],\n \"server-timing\":[\"hcid;desc=\\\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\\\",\n cfr;desc=\\\"9f80deb8e7c6dc3a-IAD\\\"\"],\n \"x-content-type-options\":[\"nosniff\"],\n \"x-hubspot-correlation-id\":[\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\"],\n \"Set-Cookie\":[\"__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-1.0.1.1-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,\n 07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None\"],\n \"Report-To\":[\"{\n\\\"endpoints\\\":[{\n\\\"url\\\":\\\"https:\\\\/\\\\/a.nel.cloudflare.com\\\\/report\\\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\\\"}],\n\\\"group\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"NEL\":[\"{\n\\\"success_fraction\\\":0.01,\n\\\"report_to\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"Server\":[\"cloudflare\"]}} {\n\"correlation_id\":\"95236535-ec98-4541-b92a-adfa73b69eab\",\n\"trace_id\":\"c7ab8365-903f-46d4-9403-0e5b551e3545\"}","depth":4,"on_screen":true,"value":"[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {\n\"headers\":{\n\"Date\":[\"Thu,07 May 2026 14:21:15 GMT\"],\n \"Content-Type\":[\"application/json;charset=utf-8\"],\n \"Transfer-Encoding\":[\"chunked\"],\n \"Connection\":[\"keep-alive\"],\n \"CF-Ray\":[\"9f80deb8db60dc3a-SOF\"],\n \"CF-Cache-Status\":[\"DYNAMIC\"],\n \"Strict-Transport-Security\":[\"max-age=31536000; includeSubDomains; preload\"],\n \"Vary\":[\"origin,\n accept-encoding\"],\n \"access-control-allow-credentials\":[\"false\"],\n \"server-timing\":[\"hcid;desc=\\\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\\\",\n cfr;desc=\\\"9f80deb8e7c6dc3a-IAD\\\"\"],\n \"x-content-type-options\":[\"nosniff\"],\n \"x-hubspot-correlation-id\":[\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\"],\n \"Set-Cookie\":[\"__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-1.0.1.1-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,\n 07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None\"],\n \"Report-To\":[\"{\n\\\"endpoints\\\":[{\n\\\"url\\\":\\\"https:\\\\/\\\\/a.nel.cloudflare.com\\\\/report\\\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\\\"}],\n\\\"group\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"NEL\":[\"{\n\\\"success_fraction\\\":0.01,\n\\\"report_to\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"Server\":[\"cloudflare\"]}} {\n\"correlation_id\":\"95236535-ec98-4541-b92a-adfa73b69eab\",\n\"trace_id\":\"c7ab8365-903f-46d4-9403-0e5b551e3545\"}","role_description":"text entry area","is_enabled":true,"is_focused":false,"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}]...
|
5549352204577814028
|
6378757150172121188
|
idle
|
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
2
67
3
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Services\Crm\Hubspot;
use HubSpot\Client\Crm\Deals\ApiException as DealApiException;
use HubSpot\Client\Crm\Contacts\ApiException as ContactApiException;
use HubSpot\Client\Crm\Companies\ApiException as CompanyApiException;
use HubSpot\Client\Crm\Contacts\Model\SimplePublicObjectWithAssociations as ContactsWithAssociations;
use HubSpot\Client\Crm\Companies\Model\SimplePublicObjectWithAssociations as CompaniesWithAssociations;
use HubSpot\Client\Crm\Deals\Model\SimplePublicObjectWithAssociations as DealWithAssociations;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectInput;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectWithAssociations as ObjectWithAssociations;
use HubSpot\Client\Crm\Pipelines\Model\Error;
use HubSpot\Client\Crm\Pipelines\Model\PipelineStage;
use HubSpot\Client\Crm\Properties\Model\Property;
use HubSpot\Discovery\Discovery;
use Jiminny\Exceptions\CrmException;
use Jiminny\Exceptions\RateLimitException;
use Jiminny\Exceptions\SocialAccountTokenInvalidException;
use Jiminny\Jobs\Crm\NoteObject;
use Jiminny\Models\Crm\Field;
use Jiminny\Services\Crm\BaseClient;
use Jiminny\Services\Crm\Hubspot\DTO\Response\Owner;
use Jiminny\Services\SocialAccountService;
use SevenShores\Hubspot\Exceptions\BadRequest;
use SevenShores\Hubspot\Exceptions\HubspotException;
use SevenShores\Hubspot\Factory;
use SevenShores\Hubspot\Http\Response;
use Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService;
use Illuminate\Support\Facades\Redis;
use Throwable;
/**
* @phpstan-type 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)
{
$cacheKey = $this->getRateLimitCacheKey();
$cachedRetryAfter = Redis::get($cacheKey);
if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {
throw new RateLimitException(
'Hubspot rate limit (cached circuit-breaker)',
(int) $cachedRetryAfter,
);
}
try {
return $apiCall();
} catch (Throwable $e) {
if ($this->isHubspotRateLimit($e)) {
$retryAfter = $this->parseRetryAfter($e);
Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);
$this->log->warning('[Hubspot] Received 429 from API', [
'team_id' => $this->config->team_id,
'config_id' => $this->config->getId(),
'retry_after' => $retryAfter,
'message' => $this->parseMessage($e),
'reason' => $e->getMessage(),
]);
throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);
}
throw $e;
}
}
private function getRateLimitCacheKey(): string
{
return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());
}
public function isHubspotRateLimit(Throwable $e): bool
{
if ($e instanceof BadRequest
|| $e instanceof DealApiException
|| $e instanceof ContactApiException
|| $e instanceof CompanyApiException
|| $e instanceof \GuzzleHttp\Exception\RequestException
) {
return (int) $e->getCode() === 429;
}
return false;
}
public 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;
}
}
$message = strtolower($this->parseMessage($e));
if (str_contains($message, 'daily')) {
return 600;
}
if (str_contains($message, 'ten secondly')) {
return 10;
}
if (str_contains($message, 'secondly')) {
return 1;
}
$this->log->warning('[Hubspot] No retry-after header or known message, using default', [
'exception_class' => get_class($e),
'message' => $message,
]);
return 10;
}
public function parseMessage(Throwable $e): string
{
if (! method_exists($e, 'getResponseBody')) {
return '';
}
$body = $e->getResponseBody();
if (is_string($body)) {
$body = json_decode($body, true) ?? [];
}
if (! is_array($body)) {
return '';
}
return (string) ($body['message'] ?? '');
}
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
);
}
/**
* Execute a search request against HubSpot CRM objects with rate limiting.
*
* @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')
* @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.
* @return array The search response with 'results', 'total', 'paging' keys
* @throws RateLimitException When rate limit is hit
* @throws HubspotException On API errors
*/
public function search(string $objectType, array $payload): array
{
$endpoint = self::BASE_URL . "/crm/v3/objects/{$objectType}/search";
return $this->executeRequest(function () use ($endpoint, $payload) {
$response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);
return $response->toArray();
});
}
/**
* @throws DealApiException
* @throws CrmException
*/
public function getOpportunityById(string $crmId, array $fields): array
{
try {
// $deal = $this->executeRequest(fn () => $this->getNewInstance()->crm()->deals()->basicApi()->getById(
$deal = $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') {
return $this->getInstance()->getClient()?->request(
method: $method,
endpoint: $endpoint,
query_string: $queryString
);
} else {
return $this->getInstance()->getClient()->request($method, $endpoint, [
'json' => ($payload),
]);
}
}
/**
* @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 (RateLimitException $e) {
// throw $e;
} 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);
}
}
Sync Changes
Hide This Notification
Code changed:
Hide
19
Previous Highlighted Error
Next Highlighted Error
[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {
"headers":{
"Date":["Thu,07 May 2026 14:21:15 GMT"],
"Content-Type":["application/json;charset=utf-8"],
"Transfer-Encoding":["chunked"],
"Connection":["keep-alive"],
"CF-Ray":["9f80deb8db60dc3a-SOF"],
"CF-Cache-Status":["DYNAMIC"],
"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],
"Vary":["origin,
accept-encoding"],
"access-control-allow-credentials":["false"],
"server-timing":["hcid;desc=\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\",
cfr;desc=\"9f80deb8e7c6dc3a-IAD\""],
"x-content-type-options":["nosniff"],
"x-hubspot-correlation-id":["019e02d0-6fd8-7812-bdba-885b7ccb3ee3"],
"Set-Cookie":["__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-[IP_ADDRESS]-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,
07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None"],
"Report-To":["{
\"endpoints\":[{
\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\"}],
\"group\":\"cf-nel\",
\"max_age\":604800}"],
"NEL":["{
\"success_fraction\":0.01,
\"report_to\":\"cf-nel\",
\"max_age\":604800}"],
"Server":["cloudflare"]}} {
"correlation_id":"95236535-ec98-4541-b92a-adfa73b69eab",
"trace_id":"c7ab8365-903f-46d4-9403-0e5b551e3545"}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
18138
|
NULL
|
0
|
2026-05-11T10:58:04.009752+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778497084009_m1.jpg...
|
PhpStorm
|
faVsco.js – Client.php
|
1
|
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
3
70
3
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Services\Crm\Hubspot;
use HubSpot\Client\Crm\Deals\ApiException as DealApiException;
use HubSpot\Client\Crm\Contacts\ApiException as ContactApiException;
use HubSpot\Client\Crm\Companies\ApiException as CompanyApiException;
use HubSpot\Client\Crm\Contacts\Model\SimplePublicObjectWithAssociations as ContactsWithAssociations;
use HubSpot\Client\Crm\Companies\Model\SimplePublicObjectWithAssociations as CompaniesWithAssociations;
use HubSpot\Client\Crm\Deals\Model\SimplePublicObjectWithAssociations as DealWithAssociations;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectInput;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectWithAssociations as ObjectWithAssociations;
use HubSpot\Client\Crm\Pipelines\Model\Error;
use HubSpot\Client\Crm\Pipelines\Model\PipelineStage;
use HubSpot\Client\Crm\Properties\Model\Property;
use HubSpot\Discovery\Discovery;
use Jiminny\Exceptions\CrmException;
use Jiminny\Exceptions\RateLimitException;
use Jiminny\Exceptions\SocialAccountTokenInvalidException;
use Jiminny\Jobs\Crm\NoteObject;
use Jiminny\Models\Crm\Field;
use Jiminny\Services\Crm\BaseClient;
use Jiminny\Services\Crm\Hubspot\DTO\Response\Owner;
use Jiminny\Services\SocialAccountService;
use SevenShores\Hubspot\Exceptions\BadRequest;
use SevenShores\Hubspot\Exceptions\HubspotException;
use SevenShores\Hubspot\Factory;
use SevenShores\Hubspot\Http\Response;
use Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService;
use Illuminate\Support\Facades\Redis;
use Throwable;
/**
* @phpstan-type 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)
{
$cacheKey = $this->getRateLimitCacheKey();
$cachedRetryAfter = Redis::get($cacheKey);
if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {
throw new RateLimitException(
'Hubspot rate limit (cached circuit-breaker)',
(int) $cachedRetryAfter,
);
}
try {
return $apiCall();
} catch (Throwable $e) {
if ($this->isHubspotRateLimit($e)) {
$retryAfter = $this->parseRetryAfter($e);
Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);
$this->log->warning('[Hubspot] Received 429 from API', [
'team_id' => $this->config->team_id,
'config_id' => $this->config->getId(),
'retry_after' => $retryAfter,
'policy' => $this->parsePolicy($e),
'reason' => $e->getMessage(),
]);
throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);
}
throw $e;
}
}
private function getRateLimitCacheKey(): string
{
return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());
}
public function isHubspotRateLimit(Throwable $e): bool
{
if ($e instanceof BadRequest
|| $e instanceof DealApiException
|| $e instanceof ContactApiException
|| $e instanceof CompanyApiException
|| $e instanceof \GuzzleHttp\Exception\RequestException
) {
return (int) $e->getCode() === 429;
}
return false;
}
public 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;
}
}
$policy = $this->parsePolicy($e);
if ($policy === 'TEN_SECONDLY_ROLLING') {
return 10;
}
if ($policy === 'SECONDLY') {
return 1;
}
if ($policy === 'DAILY_LIMIT') {
return 600;
}
$this->log->warning('[Hubspot] No retry-after header or policy name found, using default', [
'exception_class' => get_class($e),
]);
return 10;
}
public function parsePolicy(Throwable $e): ?string
{
if (! method_exists($e, 'getResponseBody')) {
return null;
}
$body = $e->getResponseBody();
if (is_string($body)) {
$body = json_decode($body, true) ?? [];
}
if (! is_array($body)) {
return null;
}
$policy = $body['policyName'] ?? $body['policy'] ?? $body['context']['policyName'] ?? null;
if (is_string($policy)) {
return strtoupper($policy);
}
$message = strtolower((string) ($body['message'] ?? ''));
if ($message === '') {
return null;
}
if (str_contains($message, 'daily')) {
return 'DAILY_LIMIT';
}
if (str_contains($message, 'ten secondly')) {
return 'TEN_SECONDLY_ROLLING';
}
if (str_contains($message, 'secondly')) {
return 'SECONDLY';
}
return null;
}
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
);
}
/**
* Execute a search request against HubSpot CRM objects with rate limiting.
*
* @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')
* @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.
* @return array The search response with 'results', 'total', 'paging' keys
* @throws RateLimitException When rate limit is hit
* @throws HubspotException On API errors
*/
public function search(string $objectType, array $payload): array
{
$endpoint = self::BASE_URL . "/crm/v3/objects/{$objectType}/search";
return $this->executeRequest(function () use ($endpoint, $payload) {
$response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);
return $response->toArray();
});
}
/**
* @throws DealApiException
* @throws CrmException
*/
public function getOpportunityById(string $crmId, array $fields): array
{
try {
// $deal = $this->executeRequest(fn () => $this->getNewInstance()->crm()->deals()->basicApi()->getById(
$deal = $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') {
return $this->getInstance()->getClient()?->request(
method: $method,
endpoint: $endpoint,
query_string: $queryString
);
} else {
return $this->getInstance()->getClient()->request($method, $endpoint, [
'json' => ($payload),
]);
}
}
/**
* @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 (RateLimitException $e) {
// throw $e;
} 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);
}
}
Sync Changes
Hide This Notification...
|
[{"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":"3","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.016666668,"height":0.02111111},"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"70","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.020833334,"height":0.02111111},"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.016666668,"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\\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 Illuminate\\Support\\Facades\\Redis;\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\n public function __construct(\n SocialAccountService $socialAccountService,\n HubspotPaginationService $paginationService,\n HubspotTokenManager $tokenManager\n ) {\n parent::__construct($socialAccountService);\n $this->paginationService = $paginationService;\n $this->tokenManager = $tokenManager;\n\n $this->setBaseUrl(self::BASE_URL);\n $this->setVersion(self::MIN_API_VERSION);\n }\n\n /**\n * Reacts to a rate limits (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 $cacheKey = $this->getRateLimitCacheKey();\n\n $cachedRetryAfter = Redis::get($cacheKey);\n if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {\n throw new RateLimitException(\n 'Hubspot rate limit (cached circuit-breaker)',\n (int) $cachedRetryAfter,\n );\n }\n\n try {\n return $apiCall();\n } catch (Throwable $e) {\n if ($this->isHubspotRateLimit($e)) {\n $retryAfter = $this->parseRetryAfter($e);\n\n Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);\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 'policy' => $this->parsePolicy($e),\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 getRateLimitCacheKey(): string\n {\n return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());\n }\n\n public function isHubspotRateLimit(Throwable $e): bool\n {\n if ($e instanceof BadRequest\n || $e instanceof DealApiException\n || $e instanceof ContactApiException\n || $e instanceof CompanyApiException\n || $e instanceof \\GuzzleHttp\\Exception\\RequestException\n ) {\n return (int) $e->getCode() === 429;\n }\n\n return false;\n }\n\n public 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 $policy = $this->parsePolicy($e);\n if ($policy === 'TEN_SECONDLY_ROLLING') {\n return 10;\n }\n if ($policy === 'SECONDLY') {\n return 1;\n }\n if ($policy === 'DAILY_LIMIT') {\n return 600;\n }\n\n $this->log->warning('[Hubspot] No retry-after header or policy name found, using default', [\n 'exception_class' => get_class($e),\n ]);\n\n return 10;\n }\n\n public function parsePolicy(Throwable $e): ?string\n {\n if (! method_exists($e, 'getResponseBody')) {\n return null;\n }\n\n $body = $e->getResponseBody();\n if (is_string($body)) {\n $body = json_decode($body, true) ?? [];\n }\n\n if (! is_array($body)) {\n return null;\n }\n\n $policy = $body['policyName'] ?? $body['policy'] ?? $body['context']['policyName'] ?? null;\n if (is_string($policy)) {\n return strtoupper($policy);\n }\n\n $message = strtolower((string) ($body['message'] ?? ''));\n if ($message === '') {\n return null;\n }\n\n if (str_contains($message, 'daily')) {\n return 'DAILY_LIMIT';\n }\n if (str_contains($message, 'ten secondly')) {\n return 'TEN_SECONDLY_ROLLING';\n }\n if (str_contains($message, 'secondly')) {\n return 'SECONDLY';\n }\n\n return null;\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 * Execute a search request against HubSpot CRM objects with rate limiting.\n *\n * @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')\n * @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.\n * @return array The search response with 'results', 'total', 'paging' keys\n * @throws RateLimitException When rate limit is hit\n * @throws HubspotException On API errors\n */\n public function search(string $objectType, array $payload): array\n {\n $endpoint = self::BASE_URL . \"/crm/v3/objects/{$objectType}/search\";\n\n return $this->executeRequest(function () use ($endpoint, $payload) {\n $response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);\n\n return $response->toArray();\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 $deal = $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 return $this->getInstance()->getClient()?->request(\n method: $method,\n endpoint: $endpoint,\n query_string: $queryString\n );\n } else {\n return $this->getInstance()->getClient()->request($method, $endpoint, [\n 'json' => ($payload),\n ]);\n }\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 (RateLimitException $e) {\n// throw $e;\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\\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 Illuminate\\Support\\Facades\\Redis;\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\n public function __construct(\n SocialAccountService $socialAccountService,\n HubspotPaginationService $paginationService,\n HubspotTokenManager $tokenManager\n ) {\n parent::__construct($socialAccountService);\n $this->paginationService = $paginationService;\n $this->tokenManager = $tokenManager;\n\n $this->setBaseUrl(self::BASE_URL);\n $this->setVersion(self::MIN_API_VERSION);\n }\n\n /**\n * Reacts to a rate limits (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 $cacheKey = $this->getRateLimitCacheKey();\n\n $cachedRetryAfter = Redis::get($cacheKey);\n if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {\n throw new RateLimitException(\n 'Hubspot rate limit (cached circuit-breaker)',\n (int) $cachedRetryAfter,\n );\n }\n\n try {\n return $apiCall();\n } catch (Throwable $e) {\n if ($this->isHubspotRateLimit($e)) {\n $retryAfter = $this->parseRetryAfter($e);\n\n Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);\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 'policy' => $this->parsePolicy($e),\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 getRateLimitCacheKey(): string\n {\n return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());\n }\n\n public function isHubspotRateLimit(Throwable $e): bool\n {\n if ($e instanceof BadRequest\n || $e instanceof DealApiException\n || $e instanceof ContactApiException\n || $e instanceof CompanyApiException\n || $e instanceof \\GuzzleHttp\\Exception\\RequestException\n ) {\n return (int) $e->getCode() === 429;\n }\n\n return false;\n }\n\n public 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 $policy = $this->parsePolicy($e);\n if ($policy === 'TEN_SECONDLY_ROLLING') {\n return 10;\n }\n if ($policy === 'SECONDLY') {\n return 1;\n }\n if ($policy === 'DAILY_LIMIT') {\n return 600;\n }\n\n $this->log->warning('[Hubspot] No retry-after header or policy name found, using default', [\n 'exception_class' => get_class($e),\n ]);\n\n return 10;\n }\n\n public function parsePolicy(Throwable $e): ?string\n {\n if (! method_exists($e, 'getResponseBody')) {\n return null;\n }\n\n $body = $e->getResponseBody();\n if (is_string($body)) {\n $body = json_decode($body, true) ?? [];\n }\n\n if (! is_array($body)) {\n return null;\n }\n\n $policy = $body['policyName'] ?? $body['policy'] ?? $body['context']['policyName'] ?? null;\n if (is_string($policy)) {\n return strtoupper($policy);\n }\n\n $message = strtolower((string) ($body['message'] ?? ''));\n if ($message === '') {\n return null;\n }\n\n if (str_contains($message, 'daily')) {\n return 'DAILY_LIMIT';\n }\n if (str_contains($message, 'ten secondly')) {\n return 'TEN_SECONDLY_ROLLING';\n }\n if (str_contains($message, 'secondly')) {\n return 'SECONDLY';\n }\n\n return null;\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 * Execute a search request against HubSpot CRM objects with rate limiting.\n *\n * @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')\n * @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.\n * @return array The search response with 'results', 'total', 'paging' keys\n * @throws RateLimitException When rate limit is hit\n * @throws HubspotException On API errors\n */\n public function search(string $objectType, array $payload): array\n {\n $endpoint = self::BASE_URL . \"/crm/v3/objects/{$objectType}/search\";\n\n return $this->executeRequest(function () use ($endpoint, $payload) {\n $response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);\n\n return $response->toArray();\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 $deal = $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 return $this->getInstance()->getClient()?->request(\n method: $method,\n endpoint: $endpoint,\n query_string: $queryString\n );\n } else {\n return $this->getInstance()->getClient()->request($method, $endpoint, [\n 'json' => ($payload),\n ]);\n }\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 (RateLimitException $e) {\n// throw $e;\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":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}]...
|
-882182407154471961
|
5225837844252985444
|
idle
|
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
3
70
3
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Services\Crm\Hubspot;
use HubSpot\Client\Crm\Deals\ApiException as DealApiException;
use HubSpot\Client\Crm\Contacts\ApiException as ContactApiException;
use HubSpot\Client\Crm\Companies\ApiException as CompanyApiException;
use HubSpot\Client\Crm\Contacts\Model\SimplePublicObjectWithAssociations as ContactsWithAssociations;
use HubSpot\Client\Crm\Companies\Model\SimplePublicObjectWithAssociations as CompaniesWithAssociations;
use HubSpot\Client\Crm\Deals\Model\SimplePublicObjectWithAssociations as DealWithAssociations;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectInput;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectWithAssociations as ObjectWithAssociations;
use HubSpot\Client\Crm\Pipelines\Model\Error;
use HubSpot\Client\Crm\Pipelines\Model\PipelineStage;
use HubSpot\Client\Crm\Properties\Model\Property;
use HubSpot\Discovery\Discovery;
use Jiminny\Exceptions\CrmException;
use Jiminny\Exceptions\RateLimitException;
use Jiminny\Exceptions\SocialAccountTokenInvalidException;
use Jiminny\Jobs\Crm\NoteObject;
use Jiminny\Models\Crm\Field;
use Jiminny\Services\Crm\BaseClient;
use Jiminny\Services\Crm\Hubspot\DTO\Response\Owner;
use Jiminny\Services\SocialAccountService;
use SevenShores\Hubspot\Exceptions\BadRequest;
use SevenShores\Hubspot\Exceptions\HubspotException;
use SevenShores\Hubspot\Factory;
use SevenShores\Hubspot\Http\Response;
use Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService;
use Illuminate\Support\Facades\Redis;
use Throwable;
/**
* @phpstan-type 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)
{
$cacheKey = $this->getRateLimitCacheKey();
$cachedRetryAfter = Redis::get($cacheKey);
if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {
throw new RateLimitException(
'Hubspot rate limit (cached circuit-breaker)',
(int) $cachedRetryAfter,
);
}
try {
return $apiCall();
} catch (Throwable $e) {
if ($this->isHubspotRateLimit($e)) {
$retryAfter = $this->parseRetryAfter($e);
Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);
$this->log->warning('[Hubspot] Received 429 from API', [
'team_id' => $this->config->team_id,
'config_id' => $this->config->getId(),
'retry_after' => $retryAfter,
'policy' => $this->parsePolicy($e),
'reason' => $e->getMessage(),
]);
throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);
}
throw $e;
}
}
private function getRateLimitCacheKey(): string
{
return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());
}
public function isHubspotRateLimit(Throwable $e): bool
{
if ($e instanceof BadRequest
|| $e instanceof DealApiException
|| $e instanceof ContactApiException
|| $e instanceof CompanyApiException
|| $e instanceof \GuzzleHttp\Exception\RequestException
) {
return (int) $e->getCode() === 429;
}
return false;
}
public 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;
}
}
$policy = $this->parsePolicy($e);
if ($policy === 'TEN_SECONDLY_ROLLING') {
return 10;
}
if ($policy === 'SECONDLY') {
return 1;
}
if ($policy === 'DAILY_LIMIT') {
return 600;
}
$this->log->warning('[Hubspot] No retry-after header or policy name found, using default', [
'exception_class' => get_class($e),
]);
return 10;
}
public function parsePolicy(Throwable $e): ?string
{
if (! method_exists($e, 'getResponseBody')) {
return null;
}
$body = $e->getResponseBody();
if (is_string($body)) {
$body = json_decode($body, true) ?? [];
}
if (! is_array($body)) {
return null;
}
$policy = $body['policyName'] ?? $body['policy'] ?? $body['context']['policyName'] ?? null;
if (is_string($policy)) {
return strtoupper($policy);
}
$message = strtolower((string) ($body['message'] ?? ''));
if ($message === '') {
return null;
}
if (str_contains($message, 'daily')) {
return 'DAILY_LIMIT';
}
if (str_contains($message, 'ten secondly')) {
return 'TEN_SECONDLY_ROLLING';
}
if (str_contains($message, 'secondly')) {
return 'SECONDLY';
}
return null;
}
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
);
}
/**
* Execute a search request against HubSpot CRM objects with rate limiting.
*
* @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')
* @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.
* @return array The search response with 'results', 'total', 'paging' keys
* @throws RateLimitException When rate limit is hit
* @throws HubspotException On API errors
*/
public function search(string $objectType, array $payload): array
{
$endpoint = self::BASE_URL . "/crm/v3/objects/{$objectType}/search";
return $this->executeRequest(function () use ($endpoint, $payload) {
$response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);
return $response->toArray();
});
}
/**
* @throws DealApiException
* @throws CrmException
*/
public function getOpportunityById(string $crmId, array $fields): array
{
try {
// $deal = $this->executeRequest(fn () => $this->getNewInstance()->crm()->deals()->basicApi()->getById(
$deal = $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') {
return $this->getInstance()->getClient()?->request(
method: $method,
endpoint: $endpoint,
query_string: $queryString
);
} else {
return $this->getInstance()->getClient()->request($method, $endpoint, [
'json' => ($payload),
]);
}
}
/**
* @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 (RateLimitException $e) {
// throw $e;
} 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);
}
}
Sync Changes
Hide This Notification...
|
18135
|
NULL
|
NULL
|
NULL
|
|
18137
|
NULL
|
0
|
2026-05-11T10:57:49.450808+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778497069450_m2.jpg...
|
PhpStorm
|
faVsco.js – Client.php
|
1
|
NULL
|
monitor_2
|
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
3
70
3
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Services\Crm\Hubspot;
use HubSpot\Client\Crm\Deals\ApiException as DealApiException;
use HubSpot\Client\Crm\Contacts\ApiException as ContactApiException;
use HubSpot\Client\Crm\Companies\ApiException as CompanyApiException;
use HubSpot\Client\Crm\Contacts\Model\SimplePublicObjectWithAssociations as ContactsWithAssociations;
use HubSpot\Client\Crm\Companies\Model\SimplePublicObjectWithAssociations as CompaniesWithAssociations;
use HubSpot\Client\Crm\Deals\Model\SimplePublicObjectWithAssociations as DealWithAssociations;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectInput;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectWithAssociations as ObjectWithAssociations;
use HubSpot\Client\Crm\Pipelines\Model\Error;
use HubSpot\Client\Crm\Pipelines\Model\PipelineStage;
use HubSpot\Client\Crm\Properties\Model\Property;
use HubSpot\Discovery\Discovery;
use Jiminny\Exceptions\CrmException;
use Jiminny\Exceptions\RateLimitException;
use Jiminny\Exceptions\SocialAccountTokenInvalidException;
use Jiminny\Jobs\Crm\NoteObject;
use Jiminny\Models\Crm\Field;
use Jiminny\Services\Crm\BaseClient;
use Jiminny\Services\Crm\Hubspot\DTO\Response\Owner;
use Jiminny\Services\SocialAccountService;
use SevenShores\Hubspot\Exceptions\BadRequest;
use SevenShores\Hubspot\Exceptions\HubspotException;
use SevenShores\Hubspot\Factory;
use SevenShores\Hubspot\Http\Response;
use Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService;
use Illuminate\Support\Facades\Redis;
use Throwable;
/**
* @phpstan-type 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)
{
$cacheKey = $this->getRateLimitCacheKey();
$cachedRetryAfter = Redis::get($cacheKey);
if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {
throw new RateLimitException(
'Hubspot rate limit (cached circuit-breaker)',
(int) $cachedRetryAfter,
);
}
try {
return $apiCall();
} catch (Throwable $e) {
if ($this->isHubspotRateLimit($e)) {
$retryAfter = $this->parseRetryAfter($e);
Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);
$this->log->warning('[Hubspot] Received 429 from API', [
'team_id' => $this->config->team_id,
'config_id' => $this->config->getId(),
'retry_after' => $retryAfter,
'policy' => $this->parsePolicy($e),
'reason' => $e->getMessage(),
]);
throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);
}
throw $e;
}
}
private function getRateLimitCacheKey(): string
{
return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());
}
public function isHubspotRateLimit(Throwable $e): bool
{
if ($e instanceof BadRequest
|| $e instanceof DealApiException
|| $e instanceof ContactApiException
|| $e instanceof CompanyApiException
|| $e instanceof \GuzzleHttp\Exception\RequestException
) {
return (int) $e->getCode() === 429;
}
return false;
}
public 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;
}
}
$policy = $this->parsePolicy($e);
if ($policy === 'TEN_SECONDLY_ROLLING') {
return 10;
}
if ($policy === 'SECONDLY') {
return 1;
}
if ($policy === 'DAILY_LIMIT') {
return 600;
}
$this->log->warning('[Hubspot] No retry-after header or policy name found, using default', [
'exception_class' => get_class($e),
]);
return 10;
}
public function parsePolicy(Throwable $e): ?string
{
if (! method_exists($e, 'getResponseBody')) {
return null;
}
$body = $e->getResponseBody();
if (is_string($body)) {
$body = json_decode($body, true) ?? [];
}
if (! is_array($body)) {
return null;
}
$policy = $body['policyName'] ?? $body['policy'] ?? $body['context']['policyName'] ?? null;
if (is_string($policy)) {
return strtoupper($policy);
}
$message = strtolower((string) ($body['message'] ?? ''));
if ($message === '') {
return null;
}
if (str_contains($message, 'daily')) {
return 'DAILY_LIMIT';
}
if (str_contains($message, 'ten secondly')) {
return 'TEN_SECONDLY_ROLLING';
}
if (str_contains($message, 'secondly')) {
return 'SECONDLY';
}
return null;
}
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
);
}
/**
* Execute a search request against HubSpot CRM objects with rate limiting.
*
* @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')
* @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.
* @return array The search response with 'results', 'total', 'paging' keys
* @throws RateLimitException When rate limit is hit
* @throws HubspotException On API errors
*/
public function search(string $objectType, array $payload): array
{
$endpoint = self::BASE_URL . "/crm/v3/objects/{$objectType}/search";
return $this->executeRequest(function () use ($endpoint, $payload) {
$response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);
return $response->toArray();
});
}
/**
* @throws DealApiException
* @throws CrmException
*/
public function getOpportunityById(string $crmId, array $fields): array
{
try {
// $deal = $this->executeRequest(fn () => $this->getNewInstance()->crm()->deals()->basicApi()->getById(
$deal = $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') {
return $this->getInstance()->getClient()?->request(
method: $method,
endpoint: $endpoint,
query_string: $queryString
);
} else {
return $this->getInstance()->getClient()->request($method, $endpoint, [
'json' => ($payload),
]);
}
}
/**
* @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 (RateLimitException $e) {
// throw $e;
} 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);
}
}
Sync Changes
Hide This Notification
Code changed:...
|
[{"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":"JY-20725-handle-HS-search-rate-limit, menu","depth":5,"bounds":{"left":0.064494684,"top":0.019952115,"width":0.09541223,"height":0.025538707},"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,"bounds":{"left":0.82413566,"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":"HandleHubspotRateLimitTest","depth":6,"bounds":{"left":0.8394282,"top":0.019952115,"width":0.076130316,"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 'HandleHubspotRateLimitTest'","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 'HandleHubspotRateLimitTest'","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":"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":"3","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.007978723,"height":0.0},"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"70","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.009973404,"height":0.0},"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":4,"bounds":{"left":0.27027926,"top":1.0,"width":0.007978723,"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\\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 Illuminate\\Support\\Facades\\Redis;\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\n public function __construct(\n SocialAccountService $socialAccountService,\n HubspotPaginationService $paginationService,\n HubspotTokenManager $tokenManager\n ) {\n parent::__construct($socialAccountService);\n $this->paginationService = $paginationService;\n $this->tokenManager = $tokenManager;\n\n $this->setBaseUrl(self::BASE_URL);\n $this->setVersion(self::MIN_API_VERSION);\n }\n\n /**\n * Reacts to a rate limits (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 $cacheKey = $this->getRateLimitCacheKey();\n\n $cachedRetryAfter = Redis::get($cacheKey);\n if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {\n throw new RateLimitException(\n 'Hubspot rate limit (cached circuit-breaker)',\n (int) $cachedRetryAfter,\n );\n }\n\n try {\n return $apiCall();\n } catch (Throwable $e) {\n if ($this->isHubspotRateLimit($e)) {\n $retryAfter = $this->parseRetryAfter($e);\n\n Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);\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 'policy' => $this->parsePolicy($e),\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 getRateLimitCacheKey(): string\n {\n return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());\n }\n\n public function isHubspotRateLimit(Throwable $e): bool\n {\n if ($e instanceof BadRequest\n || $e instanceof DealApiException\n || $e instanceof ContactApiException\n || $e instanceof CompanyApiException\n || $e instanceof \\GuzzleHttp\\Exception\\RequestException\n ) {\n return (int) $e->getCode() === 429;\n }\n\n return false;\n }\n\n public 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 $policy = $this->parsePolicy($e);\n if ($policy === 'TEN_SECONDLY_ROLLING') {\n return 10;\n }\n if ($policy === 'SECONDLY') {\n return 1;\n }\n if ($policy === 'DAILY_LIMIT') {\n return 600;\n }\n\n $this->log->warning('[Hubspot] No retry-after header or policy name found, using default', [\n 'exception_class' => get_class($e),\n ]);\n\n return 10;\n }\n\n public function parsePolicy(Throwable $e): ?string\n {\n if (! method_exists($e, 'getResponseBody')) {\n return null;\n }\n\n $body = $e->getResponseBody();\n if (is_string($body)) {\n $body = json_decode($body, true) ?? [];\n }\n\n if (! is_array($body)) {\n return null;\n }\n\n $policy = $body['policyName'] ?? $body['policy'] ?? $body['context']['policyName'] ?? null;\n if (is_string($policy)) {\n return strtoupper($policy);\n }\n\n $message = strtolower((string) ($body['message'] ?? ''));\n if ($message === '') {\n return null;\n }\n\n if (str_contains($message, 'daily')) {\n return 'DAILY_LIMIT';\n }\n if (str_contains($message, 'ten secondly')) {\n return 'TEN_SECONDLY_ROLLING';\n }\n if (str_contains($message, 'secondly')) {\n return 'SECONDLY';\n }\n\n return null;\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 * Execute a search request against HubSpot CRM objects with rate limiting.\n *\n * @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')\n * @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.\n * @return array The search response with 'results', 'total', 'paging' keys\n * @throws RateLimitException When rate limit is hit\n * @throws HubspotException On API errors\n */\n public function search(string $objectType, array $payload): array\n {\n $endpoint = self::BASE_URL . \"/crm/v3/objects/{$objectType}/search\";\n\n return $this->executeRequest(function () use ($endpoint, $payload) {\n $response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);\n\n return $response->toArray();\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 $deal = $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 return $this->getInstance()->getClient()?->request(\n method: $method,\n endpoint: $endpoint,\n query_string: $queryString\n );\n } else {\n return $this->getInstance()->getClient()->request($method, $endpoint, [\n 'json' => ($payload),\n ]);\n }\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 (RateLimitException $e) {\n// throw $e;\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\\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 Illuminate\\Support\\Facades\\Redis;\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\n public function __construct(\n SocialAccountService $socialAccountService,\n HubspotPaginationService $paginationService,\n HubspotTokenManager $tokenManager\n ) {\n parent::__construct($socialAccountService);\n $this->paginationService = $paginationService;\n $this->tokenManager = $tokenManager;\n\n $this->setBaseUrl(self::BASE_URL);\n $this->setVersion(self::MIN_API_VERSION);\n }\n\n /**\n * Reacts to a rate limits (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 $cacheKey = $this->getRateLimitCacheKey();\n\n $cachedRetryAfter = Redis::get($cacheKey);\n if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {\n throw new RateLimitException(\n 'Hubspot rate limit (cached circuit-breaker)',\n (int) $cachedRetryAfter,\n );\n }\n\n try {\n return $apiCall();\n } catch (Throwable $e) {\n if ($this->isHubspotRateLimit($e)) {\n $retryAfter = $this->parseRetryAfter($e);\n\n Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);\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 'policy' => $this->parsePolicy($e),\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 getRateLimitCacheKey(): string\n {\n return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());\n }\n\n public function isHubspotRateLimit(Throwable $e): bool\n {\n if ($e instanceof BadRequest\n || $e instanceof DealApiException\n || $e instanceof ContactApiException\n || $e instanceof CompanyApiException\n || $e instanceof \\GuzzleHttp\\Exception\\RequestException\n ) {\n return (int) $e->getCode() === 429;\n }\n\n return false;\n }\n\n public 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 $policy = $this->parsePolicy($e);\n if ($policy === 'TEN_SECONDLY_ROLLING') {\n return 10;\n }\n if ($policy === 'SECONDLY') {\n return 1;\n }\n if ($policy === 'DAILY_LIMIT') {\n return 600;\n }\n\n $this->log->warning('[Hubspot] No retry-after header or policy name found, using default', [\n 'exception_class' => get_class($e),\n ]);\n\n return 10;\n }\n\n public function parsePolicy(Throwable $e): ?string\n {\n if (! method_exists($e, 'getResponseBody')) {\n return null;\n }\n\n $body = $e->getResponseBody();\n if (is_string($body)) {\n $body = json_decode($body, true) ?? [];\n }\n\n if (! is_array($body)) {\n return null;\n }\n\n $policy = $body['policyName'] ?? $body['policy'] ?? $body['context']['policyName'] ?? null;\n if (is_string($policy)) {\n return strtoupper($policy);\n }\n\n $message = strtolower((string) ($body['message'] ?? ''));\n if ($message === '') {\n return null;\n }\n\n if (str_contains($message, 'daily')) {\n return 'DAILY_LIMIT';\n }\n if (str_contains($message, 'ten secondly')) {\n return 'TEN_SECONDLY_ROLLING';\n }\n if (str_contains($message, 'secondly')) {\n return 'SECONDLY';\n }\n\n return null;\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 * Execute a search request against HubSpot CRM objects with rate limiting.\n *\n * @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')\n * @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.\n * @return array The search response with 'results', 'total', 'paging' keys\n * @throws RateLimitException When rate limit is hit\n * @throws HubspotException On API errors\n */\n public function search(string $objectType, array $payload): array\n {\n $endpoint = self::BASE_URL . \"/crm/v3/objects/{$objectType}/search\";\n\n return $this->executeRequest(function () use ($endpoint, $payload) {\n $response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);\n\n return $response->toArray();\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 $deal = $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 return $this->getInstance()->getClient()?->request(\n method: $method,\n endpoint: $endpoint,\n query_string: $queryString\n );\n } else {\n return $this->getInstance()->getClient()->request($method, $endpoint, [\n 'json' => ($payload),\n ]);\n }\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 (RateLimitException $e) {\n// throw $e;\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":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}]...
|
-1586378868807448352
|
5225837844252985444
|
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
3
70
3
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Services\Crm\Hubspot;
use HubSpot\Client\Crm\Deals\ApiException as DealApiException;
use HubSpot\Client\Crm\Contacts\ApiException as ContactApiException;
use HubSpot\Client\Crm\Companies\ApiException as CompanyApiException;
use HubSpot\Client\Crm\Contacts\Model\SimplePublicObjectWithAssociations as ContactsWithAssociations;
use HubSpot\Client\Crm\Companies\Model\SimplePublicObjectWithAssociations as CompaniesWithAssociations;
use HubSpot\Client\Crm\Deals\Model\SimplePublicObjectWithAssociations as DealWithAssociations;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectInput;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectWithAssociations as ObjectWithAssociations;
use HubSpot\Client\Crm\Pipelines\Model\Error;
use HubSpot\Client\Crm\Pipelines\Model\PipelineStage;
use HubSpot\Client\Crm\Properties\Model\Property;
use HubSpot\Discovery\Discovery;
use Jiminny\Exceptions\CrmException;
use Jiminny\Exceptions\RateLimitException;
use Jiminny\Exceptions\SocialAccountTokenInvalidException;
use Jiminny\Jobs\Crm\NoteObject;
use Jiminny\Models\Crm\Field;
use Jiminny\Services\Crm\BaseClient;
use Jiminny\Services\Crm\Hubspot\DTO\Response\Owner;
use Jiminny\Services\SocialAccountService;
use SevenShores\Hubspot\Exceptions\BadRequest;
use SevenShores\Hubspot\Exceptions\HubspotException;
use SevenShores\Hubspot\Factory;
use SevenShores\Hubspot\Http\Response;
use Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService;
use Illuminate\Support\Facades\Redis;
use Throwable;
/**
* @phpstan-type 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)
{
$cacheKey = $this->getRateLimitCacheKey();
$cachedRetryAfter = Redis::get($cacheKey);
if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {
throw new RateLimitException(
'Hubspot rate limit (cached circuit-breaker)',
(int) $cachedRetryAfter,
);
}
try {
return $apiCall();
} catch (Throwable $e) {
if ($this->isHubspotRateLimit($e)) {
$retryAfter = $this->parseRetryAfter($e);
Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);
$this->log->warning('[Hubspot] Received 429 from API', [
'team_id' => $this->config->team_id,
'config_id' => $this->config->getId(),
'retry_after' => $retryAfter,
'policy' => $this->parsePolicy($e),
'reason' => $e->getMessage(),
]);
throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);
}
throw $e;
}
}
private function getRateLimitCacheKey(): string
{
return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());
}
public function isHubspotRateLimit(Throwable $e): bool
{
if ($e instanceof BadRequest
|| $e instanceof DealApiException
|| $e instanceof ContactApiException
|| $e instanceof CompanyApiException
|| $e instanceof \GuzzleHttp\Exception\RequestException
) {
return (int) $e->getCode() === 429;
}
return false;
}
public 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;
}
}
$policy = $this->parsePolicy($e);
if ($policy === 'TEN_SECONDLY_ROLLING') {
return 10;
}
if ($policy === 'SECONDLY') {
return 1;
}
if ($policy === 'DAILY_LIMIT') {
return 600;
}
$this->log->warning('[Hubspot] No retry-after header or policy name found, using default', [
'exception_class' => get_class($e),
]);
return 10;
}
public function parsePolicy(Throwable $e): ?string
{
if (! method_exists($e, 'getResponseBody')) {
return null;
}
$body = $e->getResponseBody();
if (is_string($body)) {
$body = json_decode($body, true) ?? [];
}
if (! is_array($body)) {
return null;
}
$policy = $body['policyName'] ?? $body['policy'] ?? $body['context']['policyName'] ?? null;
if (is_string($policy)) {
return strtoupper($policy);
}
$message = strtolower((string) ($body['message'] ?? ''));
if ($message === '') {
return null;
}
if (str_contains($message, 'daily')) {
return 'DAILY_LIMIT';
}
if (str_contains($message, 'ten secondly')) {
return 'TEN_SECONDLY_ROLLING';
}
if (str_contains($message, 'secondly')) {
return 'SECONDLY';
}
return null;
}
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
);
}
/**
* Execute a search request against HubSpot CRM objects with rate limiting.
*
* @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')
* @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.
* @return array The search response with 'results', 'total', 'paging' keys
* @throws RateLimitException When rate limit is hit
* @throws HubspotException On API errors
*/
public function search(string $objectType, array $payload): array
{
$endpoint = self::BASE_URL . "/crm/v3/objects/{$objectType}/search";
return $this->executeRequest(function () use ($endpoint, $payload) {
$response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);
return $response->toArray();
});
}
/**
* @throws DealApiException
* @throws CrmException
*/
public function getOpportunityById(string $crmId, array $fields): array
{
try {
// $deal = $this->executeRequest(fn () => $this->getNewInstance()->crm()->deals()->basicApi()->getById(
$deal = $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') {
return $this->getInstance()->getClient()?->request(
method: $method,
endpoint: $endpoint,
query_string: $queryString
);
} else {
return $this->getInstance()->getClient()->request($method, $endpoint, [
'json' => ($payload),
]);
}
}
/**
* @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 (RateLimitException $e) {
// throw $e;
} 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);
}
}
Sync Changes
Hide This Notification
Code changed:...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
18099
|
NULL
|
0
|
2026-05-11T10:52:55.305918+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778496775305_m1.jpg...
|
PhpStorm
|
faVsco.js – Client.php
|
1
|
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
3
70
3
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Services\Crm\Hubspot;
use HubSpot\Client\Crm\Deals\ApiException as DealApiException;
use HubSpot\Client\Crm\Contacts\ApiException as ContactApiException;
use HubSpot\Client\Crm\Companies\ApiException as CompanyApiException;
use HubSpot\Client\Crm\Contacts\Model\SimplePublicObjectWithAssociations as ContactsWithAssociations;
use HubSpot\Client\Crm\Companies\Model\SimplePublicObjectWithAssociations as CompaniesWithAssociations;
use HubSpot\Client\Crm\Deals\Model\SimplePublicObjectWithAssociations as DealWithAssociations;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectInput;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectWithAssociations as ObjectWithAssociations;
use HubSpot\Client\Crm\Pipelines\Model\Error;
use HubSpot\Client\Crm\Pipelines\Model\PipelineStage;
use HubSpot\Client\Crm\Properties\Model\Property;
use HubSpot\Discovery\Discovery;
use Jiminny\Exceptions\CrmException;
use Jiminny\Exceptions\RateLimitException;
use Jiminny\Exceptions\SocialAccountTokenInvalidException;
use Jiminny\Jobs\Crm\NoteObject;
use Jiminny\Models\Crm\Field;
use Jiminny\Services\Crm\BaseClient;
use Jiminny\Services\Crm\Hubspot\DTO\Response\Owner;
use Jiminny\Services\SocialAccountService;
use SevenShores\Hubspot\Exceptions\BadRequest;
use SevenShores\Hubspot\Exceptions\HubspotException;
use SevenShores\Hubspot\Factory;
use SevenShores\Hubspot\Http\Response;
use Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService;
use Illuminate\Support\Facades\Redis;
use Throwable;
/**
* @phpstan-type 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)
{
$cacheKey = $this->getRateLimitCacheKey();
$cachedRetryAfter = Redis::get($cacheKey);
if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {
throw new RateLimitException(
'Hubspot rate limit (cached circuit-breaker)',
(int) $cachedRetryAfter,
);
}
try {
return $apiCall();
} catch (Throwable $e) {
if ($this->isHubspotRateLimit($e)) {
$retryAfter = $this->parseRetryAfter($e);
Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);
$this->log->warning('[Hubspot] Received 429 from API', [
'team_id' => $this->config->team_id,
'config_id' => $this->config->getId(),
'retry_after' => $retryAfter,
'policy' => $this->parsePolicy($e),
'reason' => $e->getMessage(),
]);
throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);
}
throw $e;
}
}
private function getRateLimitCacheKey(): string
{
return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());
}
public function isHubspotRateLimit(Throwable $e): bool
{
if ($e instanceof BadRequest
|| $e instanceof DealApiException
|| $e instanceof ContactApiException
|| $e instanceof CompanyApiException
|| $e instanceof \GuzzleHttp\Exception\RequestException
) {
return (int) $e->getCode() === 429;
}
return false;
}
public 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;
}
}
$policy = $this->parsePolicy($e);
if ($policy === 'TEN_SECONDLY_ROLLING') {
return 10;
}
if ($policy === 'SECONDLY') {
return 1;
}
if ($policy === 'DAILY_LIMIT') {
return 600;
}
$this->log->warning('[Hubspot] No retry-after header or policy name found, using default', [
'exception_class' => get_class($e),
]);
return 10;
}
public function parsePolicy(Throwable $e): ?string
{
if (! method_exists($e, 'getResponseBody')) {
return null;
}
$body = $e->getResponseBody();
if (is_string($body)) {
$body = json_decode($body, true) ?? [];
}
if (! is_array($body)) {
return null;
}
$policy = $body['policyName'] ?? $body['policy'] ?? $body['context']['policyName'] ?? null;
if (is_string($policy)) {
return strtoupper($policy);
}
$message = strtolower((string) ($body['message'] ?? ''));
if ($message === '') {
return null;
}
if (str_contains($message, 'daily')) {
return 'DAILY_LIMIT';
}
if (str_contains($message, 'ten secondly')) {
return 'TEN_SECONDLY_ROLLING';
}
if (str_contains($message, 'secondly')) {
return 'SECONDLY';
}
return null;
}
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
);
}
/**
* Execute a search request against HubSpot CRM objects with rate limiting.
*
* @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')
* @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.
* @return array The search response with 'results', 'total', 'paging' keys
* @throws RateLimitException When rate limit is hit
* @throws HubspotException On API errors
*/
public function search(string $objectType, array $payload): array
{
$endpoint = self::BASE_URL . "/crm/v3/objects/{$objectType}/search";
return $this->executeRequest(function () use ($endpoint, $payload) {
$response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);
return $response->toArray();
});
}
/**
* @throws DealApiException
* @throws CrmException
*/
public function getOpportunityById(string $crmId, array $fields): array
{
try {
// $deal = $this->executeRequest(fn () => $this->getNewInstance()->crm()->deals()->basicApi()->getById(
$deal = $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') {
return $this->getInstance()->getClient()?->request(
method: $method,
endpoint: $endpoint,
query_string: $queryString
);
} else {
return $this->getInstance()->getClient()->request($method, $endpoint, [
'json' => ($payload),
]);
}
}
/**
* @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 (RateLimitException $e) {
// throw $e;
} 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);
}
}
Sync Changes
Hide This Notification
Code changed:
Hide
19
Previous Highlighted Error
Next Highlighted Error
[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {
"headers":{
"Date":["Thu,07 May 2026 14:21:15 GMT"],
"Content-Type":["application/json;charset=utf-8"],
"Transfer-Encoding":["chunked"],
"Connection":["keep-alive"],
"CF-Ray":["9f80deb8db60dc3a-SOF"],
"CF-Cache-Status":["DYNAMIC"],
"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],
"Vary":["origin,
accept-encoding"],
"access-control-allow-credentials":["false"],
"server-timing":["hcid;desc=\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\",
cfr;desc=\"9f80deb8e7c6dc3a-IAD\""],
"x-content-type-options":["nosniff"],
"x-hubspot-correlation-id":["019e02d0-6fd8-7812-bdba-885b7ccb3ee3"],
"Set-Cookie":["__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-[IP_ADDRESS]-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,
07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None"],
"Report-To":["{
\"endpoints\":[{
\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\"}],
\"group\":\"cf-nel\",
\"max_age\":604800}"],
"NEL":["{
\"success_fraction\":0.01,
\"report_to\":\"cf-nel\",
\"max_age\":604800}"],
"Server":["cloudflare"]}} {
"correlation_id":"95236535-ec98-4541-b92a-adfa73b69eab",
"trace_id":"c7ab8365-903f-46d4-9403-0e5b551e3545"}
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":"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":"3","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.016666668,"height":0.02111111},"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"70","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.020833334,"height":0.02111111},"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.016666668,"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\\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 Illuminate\\Support\\Facades\\Redis;\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\n public function __construct(\n SocialAccountService $socialAccountService,\n HubspotPaginationService $paginationService,\n HubspotTokenManager $tokenManager\n ) {\n parent::__construct($socialAccountService);\n $this->paginationService = $paginationService;\n $this->tokenManager = $tokenManager;\n\n $this->setBaseUrl(self::BASE_URL);\n $this->setVersion(self::MIN_API_VERSION);\n }\n\n /**\n * Reacts to a rate limits (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 $cacheKey = $this->getRateLimitCacheKey();\n\n $cachedRetryAfter = Redis::get($cacheKey);\n if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {\n throw new RateLimitException(\n 'Hubspot rate limit (cached circuit-breaker)',\n (int) $cachedRetryAfter,\n );\n }\n\n try {\n return $apiCall();\n } catch (Throwable $e) {\n if ($this->isHubspotRateLimit($e)) {\n $retryAfter = $this->parseRetryAfter($e);\n\n Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);\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 'policy' => $this->parsePolicy($e),\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 getRateLimitCacheKey(): string\n {\n return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());\n }\n\n public function isHubspotRateLimit(Throwable $e): bool\n {\n if ($e instanceof BadRequest\n || $e instanceof DealApiException\n || $e instanceof ContactApiException\n || $e instanceof CompanyApiException\n || $e instanceof \\GuzzleHttp\\Exception\\RequestException\n ) {\n return (int) $e->getCode() === 429;\n }\n\n return false;\n }\n\n public 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 $policy = $this->parsePolicy($e);\n if ($policy === 'TEN_SECONDLY_ROLLING') {\n return 10;\n }\n if ($policy === 'SECONDLY') {\n return 1;\n }\n if ($policy === 'DAILY_LIMIT') {\n return 600;\n }\n\n $this->log->warning('[Hubspot] No retry-after header or policy name found, using default', [\n 'exception_class' => get_class($e),\n ]);\n\n return 10;\n }\n\n public function parsePolicy(Throwable $e): ?string\n {\n if (! method_exists($e, 'getResponseBody')) {\n return null;\n }\n\n $body = $e->getResponseBody();\n if (is_string($body)) {\n $body = json_decode($body, true) ?? [];\n }\n\n if (! is_array($body)) {\n return null;\n }\n\n $policy = $body['policyName'] ?? $body['policy'] ?? $body['context']['policyName'] ?? null;\n if (is_string($policy)) {\n return strtoupper($policy);\n }\n\n $message = strtolower((string) ($body['message'] ?? ''));\n if ($message === '') {\n return null;\n }\n\n if (str_contains($message, 'daily')) {\n return 'DAILY_LIMIT';\n }\n if (str_contains($message, 'ten secondly')) {\n return 'TEN_SECONDLY_ROLLING';\n }\n if (str_contains($message, 'secondly')) {\n return 'SECONDLY';\n }\n\n return null;\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 * Execute a search request against HubSpot CRM objects with rate limiting.\n *\n * @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')\n * @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.\n * @return array The search response with 'results', 'total', 'paging' keys\n * @throws RateLimitException When rate limit is hit\n * @throws HubspotException On API errors\n */\n public function search(string $objectType, array $payload): array\n {\n $endpoint = self::BASE_URL . \"/crm/v3/objects/{$objectType}/search\";\n\n return $this->executeRequest(function () use ($endpoint, $payload) {\n $response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);\n\n return $response->toArray();\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 $deal = $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 return $this->getInstance()->getClient()?->request(\n method: $method,\n endpoint: $endpoint,\n query_string: $queryString\n );\n } else {\n return $this->getInstance()->getClient()->request($method, $endpoint, [\n 'json' => ($payload),\n ]);\n }\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 (RateLimitException $e) {\n// throw $e;\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\\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 Illuminate\\Support\\Facades\\Redis;\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\n public function __construct(\n SocialAccountService $socialAccountService,\n HubspotPaginationService $paginationService,\n HubspotTokenManager $tokenManager\n ) {\n parent::__construct($socialAccountService);\n $this->paginationService = $paginationService;\n $this->tokenManager = $tokenManager;\n\n $this->setBaseUrl(self::BASE_URL);\n $this->setVersion(self::MIN_API_VERSION);\n }\n\n /**\n * Reacts to a rate limits (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 $cacheKey = $this->getRateLimitCacheKey();\n\n $cachedRetryAfter = Redis::get($cacheKey);\n if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {\n throw new RateLimitException(\n 'Hubspot rate limit (cached circuit-breaker)',\n (int) $cachedRetryAfter,\n );\n }\n\n try {\n return $apiCall();\n } catch (Throwable $e) {\n if ($this->isHubspotRateLimit($e)) {\n $retryAfter = $this->parseRetryAfter($e);\n\n Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);\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 'policy' => $this->parsePolicy($e),\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 getRateLimitCacheKey(): string\n {\n return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());\n }\n\n public function isHubspotRateLimit(Throwable $e): bool\n {\n if ($e instanceof BadRequest\n || $e instanceof DealApiException\n || $e instanceof ContactApiException\n || $e instanceof CompanyApiException\n || $e instanceof \\GuzzleHttp\\Exception\\RequestException\n ) {\n return (int) $e->getCode() === 429;\n }\n\n return false;\n }\n\n public 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 $policy = $this->parsePolicy($e);\n if ($policy === 'TEN_SECONDLY_ROLLING') {\n return 10;\n }\n if ($policy === 'SECONDLY') {\n return 1;\n }\n if ($policy === 'DAILY_LIMIT') {\n return 600;\n }\n\n $this->log->warning('[Hubspot] No retry-after header or policy name found, using default', [\n 'exception_class' => get_class($e),\n ]);\n\n return 10;\n }\n\n public function parsePolicy(Throwable $e): ?string\n {\n if (! method_exists($e, 'getResponseBody')) {\n return null;\n }\n\n $body = $e->getResponseBody();\n if (is_string($body)) {\n $body = json_decode($body, true) ?? [];\n }\n\n if (! is_array($body)) {\n return null;\n }\n\n $policy = $body['policyName'] ?? $body['policy'] ?? $body['context']['policyName'] ?? null;\n if (is_string($policy)) {\n return strtoupper($policy);\n }\n\n $message = strtolower((string) ($body['message'] ?? ''));\n if ($message === '') {\n return null;\n }\n\n if (str_contains($message, 'daily')) {\n return 'DAILY_LIMIT';\n }\n if (str_contains($message, 'ten secondly')) {\n return 'TEN_SECONDLY_ROLLING';\n }\n if (str_contains($message, 'secondly')) {\n return 'SECONDLY';\n }\n\n return null;\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 * Execute a search request against HubSpot CRM objects with rate limiting.\n *\n * @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')\n * @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.\n * @return array The search response with 'results', 'total', 'paging' keys\n * @throws RateLimitException When rate limit is hit\n * @throws HubspotException On API errors\n */\n public function search(string $objectType, array $payload): array\n {\n $endpoint = self::BASE_URL . \"/crm/v3/objects/{$objectType}/search\";\n\n return $this->executeRequest(function () use ($endpoint, $payload) {\n $response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);\n\n return $response->toArray();\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 $deal = $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 return $this->getInstance()->getClient()?->request(\n method: $method,\n endpoint: $endpoint,\n query_string: $queryString\n );\n } else {\n return $this->getInstance()->getClient()->request($method, $endpoint, [\n 'json' => ($payload),\n ]);\n }\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 (RateLimitException $e) {\n// throw $e;\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":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":"19","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-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {\n\"headers\":{\n\"Date\":[\"Thu,07 May 2026 14:21:15 GMT\"],\n \"Content-Type\":[\"application/json;charset=utf-8\"],\n \"Transfer-Encoding\":[\"chunked\"],\n \"Connection\":[\"keep-alive\"],\n \"CF-Ray\":[\"9f80deb8db60dc3a-SOF\"],\n \"CF-Cache-Status\":[\"DYNAMIC\"],\n \"Strict-Transport-Security\":[\"max-age=31536000; includeSubDomains; preload\"],\n \"Vary\":[\"origin,\n accept-encoding\"],\n \"access-control-allow-credentials\":[\"false\"],\n \"server-timing\":[\"hcid;desc=\\\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\\\",\n cfr;desc=\\\"9f80deb8e7c6dc3a-IAD\\\"\"],\n \"x-content-type-options\":[\"nosniff\"],\n \"x-hubspot-correlation-id\":[\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\"],\n \"Set-Cookie\":[\"__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-1.0.1.1-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,\n 07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None\"],\n \"Report-To\":[\"{\n\\\"endpoints\\\":[{\n\\\"url\\\":\\\"https:\\\\/\\\\/a.nel.cloudflare.com\\\\/report\\\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\\\"}],\n\\\"group\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"NEL\":[\"{\n\\\"success_fraction\\\":0.01,\n\\\"report_to\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"Server\":[\"cloudflare\"]}} {\n\"correlation_id\":\"95236535-ec98-4541-b92a-adfa73b69eab\",\n\"trace_id\":\"c7ab8365-903f-46d4-9403-0e5b551e3545\"}","depth":4,"on_screen":true,"value":"[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {\n\"headers\":{\n\"Date\":[\"Thu,07 May 2026 14:21:15 GMT\"],\n \"Content-Type\":[\"application/json;charset=utf-8\"],\n \"Transfer-Encoding\":[\"chunked\"],\n \"Connection\":[\"keep-alive\"],\n \"CF-Ray\":[\"9f80deb8db60dc3a-SOF\"],\n \"CF-Cache-Status\":[\"DYNAMIC\"],\n \"Strict-Transport-Security\":[\"max-age=31536000; includeSubDomains; preload\"],\n \"Vary\":[\"origin,\n accept-encoding\"],\n \"access-control-allow-credentials\":[\"false\"],\n \"server-timing\":[\"hcid;desc=\\\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\\\",\n cfr;desc=\\\"9f80deb8e7c6dc3a-IAD\\\"\"],\n \"x-content-type-options\":[\"nosniff\"],\n \"x-hubspot-correlation-id\":[\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\"],\n \"Set-Cookie\":[\"__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-1.0.1.1-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,\n 07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None\"],\n \"Report-To\":[\"{\n\\\"endpoints\\\":[{\n\\\"url\\\":\\\"https:\\\\/\\\\/a.nel.cloudflare.com\\\\/report\\\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\\\"}],\n\\\"group\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"NEL\":[\"{\n\\\"success_fraction\\\":0.01,\n\\\"report_to\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"Server\":[\"cloudflare\"]}} {\n\"correlation_id\":\"95236535-ec98-4541-b92a-adfa73b69eab\",\n\"trace_id\":\"c7ab8365-903f-46d4-9403-0e5b551e3545\"}","role_description":"text entry area","is_enabled":true,"is_focused":false,"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}]...
|
1919495047353116799
|
6666989725011544164
|
idle
|
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
3
70
3
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Services\Crm\Hubspot;
use HubSpot\Client\Crm\Deals\ApiException as DealApiException;
use HubSpot\Client\Crm\Contacts\ApiException as ContactApiException;
use HubSpot\Client\Crm\Companies\ApiException as CompanyApiException;
use HubSpot\Client\Crm\Contacts\Model\SimplePublicObjectWithAssociations as ContactsWithAssociations;
use HubSpot\Client\Crm\Companies\Model\SimplePublicObjectWithAssociations as CompaniesWithAssociations;
use HubSpot\Client\Crm\Deals\Model\SimplePublicObjectWithAssociations as DealWithAssociations;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectInput;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectWithAssociations as ObjectWithAssociations;
use HubSpot\Client\Crm\Pipelines\Model\Error;
use HubSpot\Client\Crm\Pipelines\Model\PipelineStage;
use HubSpot\Client\Crm\Properties\Model\Property;
use HubSpot\Discovery\Discovery;
use Jiminny\Exceptions\CrmException;
use Jiminny\Exceptions\RateLimitException;
use Jiminny\Exceptions\SocialAccountTokenInvalidException;
use Jiminny\Jobs\Crm\NoteObject;
use Jiminny\Models\Crm\Field;
use Jiminny\Services\Crm\BaseClient;
use Jiminny\Services\Crm\Hubspot\DTO\Response\Owner;
use Jiminny\Services\SocialAccountService;
use SevenShores\Hubspot\Exceptions\BadRequest;
use SevenShores\Hubspot\Exceptions\HubspotException;
use SevenShores\Hubspot\Factory;
use SevenShores\Hubspot\Http\Response;
use Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService;
use Illuminate\Support\Facades\Redis;
use Throwable;
/**
* @phpstan-type 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)
{
$cacheKey = $this->getRateLimitCacheKey();
$cachedRetryAfter = Redis::get($cacheKey);
if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {
throw new RateLimitException(
'Hubspot rate limit (cached circuit-breaker)',
(int) $cachedRetryAfter,
);
}
try {
return $apiCall();
} catch (Throwable $e) {
if ($this->isHubspotRateLimit($e)) {
$retryAfter = $this->parseRetryAfter($e);
Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);
$this->log->warning('[Hubspot] Received 429 from API', [
'team_id' => $this->config->team_id,
'config_id' => $this->config->getId(),
'retry_after' => $retryAfter,
'policy' => $this->parsePolicy($e),
'reason' => $e->getMessage(),
]);
throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);
}
throw $e;
}
}
private function getRateLimitCacheKey(): string
{
return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());
}
public function isHubspotRateLimit(Throwable $e): bool
{
if ($e instanceof BadRequest
|| $e instanceof DealApiException
|| $e instanceof ContactApiException
|| $e instanceof CompanyApiException
|| $e instanceof \GuzzleHttp\Exception\RequestException
) {
return (int) $e->getCode() === 429;
}
return false;
}
public 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;
}
}
$policy = $this->parsePolicy($e);
if ($policy === 'TEN_SECONDLY_ROLLING') {
return 10;
}
if ($policy === 'SECONDLY') {
return 1;
}
if ($policy === 'DAILY_LIMIT') {
return 600;
}
$this->log->warning('[Hubspot] No retry-after header or policy name found, using default', [
'exception_class' => get_class($e),
]);
return 10;
}
public function parsePolicy(Throwable $e): ?string
{
if (! method_exists($e, 'getResponseBody')) {
return null;
}
$body = $e->getResponseBody();
if (is_string($body)) {
$body = json_decode($body, true) ?? [];
}
if (! is_array($body)) {
return null;
}
$policy = $body['policyName'] ?? $body['policy'] ?? $body['context']['policyName'] ?? null;
if (is_string($policy)) {
return strtoupper($policy);
}
$message = strtolower((string) ($body['message'] ?? ''));
if ($message === '') {
return null;
}
if (str_contains($message, 'daily')) {
return 'DAILY_LIMIT';
}
if (str_contains($message, 'ten secondly')) {
return 'TEN_SECONDLY_ROLLING';
}
if (str_contains($message, 'secondly')) {
return 'SECONDLY';
}
return null;
}
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
);
}
/**
* Execute a search request against HubSpot CRM objects with rate limiting.
*
* @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')
* @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.
* @return array The search response with 'results', 'total', 'paging' keys
* @throws RateLimitException When rate limit is hit
* @throws HubspotException On API errors
*/
public function search(string $objectType, array $payload): array
{
$endpoint = self::BASE_URL . "/crm/v3/objects/{$objectType}/search";
return $this->executeRequest(function () use ($endpoint, $payload) {
$response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);
return $response->toArray();
});
}
/**
* @throws DealApiException
* @throws CrmException
*/
public function getOpportunityById(string $crmId, array $fields): array
{
try {
// $deal = $this->executeRequest(fn () => $this->getNewInstance()->crm()->deals()->basicApi()->getById(
$deal = $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') {
return $this->getInstance()->getClient()?->request(
method: $method,
endpoint: $endpoint,
query_string: $queryString
);
} else {
return $this->getInstance()->getClient()->request($method, $endpoint, [
'json' => ($payload),
]);
}
}
/**
* @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 (RateLimitException $e) {
// throw $e;
} 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);
}
}
Sync Changes
Hide This Notification
Code changed:
Hide
19
Previous Highlighted Error
Next Highlighted Error
[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {
"headers":{
"Date":["Thu,07 May 2026 14:21:15 GMT"],
"Content-Type":["application/json;charset=utf-8"],
"Transfer-Encoding":["chunked"],
"Connection":["keep-alive"],
"CF-Ray":["9f80deb8db60dc3a-SOF"],
"CF-Cache-Status":["DYNAMIC"],
"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],
"Vary":["origin,
accept-encoding"],
"access-control-allow-credentials":["false"],
"server-timing":["hcid;desc=\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\",
cfr;desc=\"9f80deb8e7c6dc3a-IAD\""],
"x-content-type-options":["nosniff"],
"x-hubspot-correlation-id":["019e02d0-6fd8-7812-bdba-885b7ccb3ee3"],
"Set-Cookie":["__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-[IP_ADDRESS]-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,
07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None"],
"Report-To":["{
\"endpoints\":[{
\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\"}],
\"group\":\"cf-nel\",
\"max_age\":604800}"],
"NEL":["{
\"success_fraction\":0.01,
\"report_to\":\"cf-nel\",
\"max_age\":604800}"],
"Server":["cloudflare"]}} {
"correlation_id":"95236535-ec98-4541-b92a-adfa73b69eab",
"trace_id":"c7ab8365-903f-46d4-9403-0e5b551e3545"}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
18098
|
NULL
|
0
|
2026-05-11T10:52:49.664324+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778496769664_m2.jpg...
|
PhpStorm
|
faVsco.js – Client.php
|
1
|
NULL
|
monitor_2
|
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...
|
[{"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":"JY-20725-handle-HS-search-rate-limit, menu","depth":5,"bounds":{"left":0.064494684,"top":0.019952115,"width":0.09541223,"height":0.025538707},"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,"bounds":{"left":0.82413566,"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":"HandleHubspotRateLimitTest","depth":6,"bounds":{"left":0.8394282,"top":0.019952115,"width":0.076130316,"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 'HandleHubspotRateLimitTest'","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 'HandleHubspotRateLimitTest'","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":"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,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false}]...
|
8956692732016058251
|
-8204340751569409078
|
idle
|
hybrid
|
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
PhostormVIewINavicareCodeFV faVsco.js°9 JY-20725-handle-HS-search-rate-limiProiect© BatchSyncCollectole balchsynckealssec clientoneo closedDealstagesso RematchActivityonCrmObiectDetach.pngDealrielasservice.g©MatchCrmData.phpc)Decorateacuivilv.or© FieldDefinitions.phrC) CrmObiectsResolver.pho() ProviderRateLimiter.phpC) PaqinationContia.phpC) FieldT vpeconverteclass Cuient extends BasecLient imolements Hubspotcuientinterfacee Hubspotclientinterc) Hubspotlokenman© PayloadBuilder.phpC) RemotecrmobiectnP ResponseNormalize122123124125c) Service,onoC) SvncFieldAction.ohC) SvncRelatedActivitC) WebhookSvncBatcl129v MintearationAorM Acceccors130ConfigD DTO• M SiltersD Jobs• M ProcnectSearchStr.132W service Iralts© DataClient.php© DecorateActivity.ph© LocalSearch.php© LocalSearchInterfac© RemoteSearch.php137139c) Service.phpv D Listeners© ConvertLeadActivitc) PurceLookuocache> M Metadata> Miarationi> = Pioedrivev Salesforce147• D FieldsM OnnortunitvMatcheMOnnortunitvSvneStlM ProsneetSearchStr.149150151) M ServiceTraitcC) Client nhr@ DecorateActivity.ph154. Delete@biectsTrait© FieldDefinitions.php© PayloadBuilder.php© Profile.php© QueryBuilder.php156157159Tacts naccod. 12 (50 minutes aao)public function isHubspotRateLimit(Throwable $e): boolse inscanceotGuzzLehcco cxcepcion kequescexcepclonrecurn inu se->geclode === 427*nubuic function narseRetrvafterhrowable Selr intIlluminate\ Support\ Facades\Loq::channel('custom_channel')->info('$e' . PHP EOL . print r($e, true) Accent Reiectif (method exists($e.method: 'qetResponseHeaders')){Sheaders = $e->qetResponseHeadersO ?: [1:Svalue = Sheaders['Retry-After'] ?? Sheaders['retry-after'] ?? null:if (is array(Svalue)) {Svalue = Svaluelol ?? null;if (is numeric(Svalue)) {return int svalue:Spolicy = $this->parsePolicy($e);if Spolicv =a='TEN SECONDLY ROLLING') ≤return 10:if ($policy === 'SECONDLY') {neturn 1if (Spolicy === 'DAILY_LIMIT') {neturn 600,Sthis->loq->warning('[Hubspot] No retry-after header or policy name found, using default'. ['exception class' => qet class($e).f 1of 4 edits JAccept File &~ X Reject File 4% €# Support Daily - in 1h 8 m100% 5• Mon 11 May 13:52:49HandleHubspotRateLimitTest v+0 ..4 HS_local (iminny@localhost]# console [PKoD)CascadeA console (EU]A console [STAGING][2026-05-07 14:21:15] local.INF0: [Hubspot] DEBUG Getting headers {"Vace".L"Inu,or May 2020 14.21.15 bMlJe Hubspot Rate Limitv.19ng. 1 siatus • emot , message • fou llave leacheeserver-timing":["hcid;desc=\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\",Riaht — the actual HubSpot 429 body has no policyName field, just message textand errortype. My parsePolicy waslookina for fiolde that don't eyict)"x-hubspot-correlation-id":["019e02d0-6fd8-7812-bdba-885b7ccb3ee3"J,"Set-Cookie":["__cf_bm=StUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-[IP_ADDRESS]-rI.ZggtDKxTg07-Mav-26 14•51•15 GMT• domain=hubani.com• HttnOnlv: Secuno• SameSite=Nono".Let me also revert your debug instrumentation while I'm at it\"url\":"https:|\/\\/a.nel.cloudflare.com\\/report\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEg?Now let me add tests tor parsePolicy to lock in the mes\"group\":\"cf-nel\".\"max_age\":604800}"],"NEL".L"1Let me run the existina tests to verifv nothina broke:"Server": ["cloudflare"]}} {"correlation id":"95236535-ec98-4541-b92a-adfa73b69eab".--no-coverage"trace_1d":"C/ab8565-905t-4604-9405-0e5b551e5545'}Run&w Skip11|1aon/Services/Crm/Hubsoot/m Client.ohv +19 -6Ask anvthina (84L)÷ « CodeClaude Onus 4.7 MediumView all* Reiect allAccent allWN Windsurf Toams 122-1UTF.8io 4 spaces...
|
18096
|
NULL
|
NULL
|
NULL
|
|
18064
|
NULL
|
0
|
2026-05-11T10:47:37.427588+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778496457427_m2.jpg...
|
PhpStorm
|
faVsco.js – custom.log
|
1
|
NULL
|
monitor_2
|
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
3
70
3
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Services\Crm\Hubspot;
use HubSpot\Client\Crm\Deals\ApiException as DealApiException;
use HubSpot\Client\Crm\Contacts\ApiException as ContactApiException;
use HubSpot\Client\Crm\Companies\ApiException as CompanyApiException;
use HubSpot\Client\Crm\Contacts\Model\SimplePublicObjectWithAssociations as ContactsWithAssociations;
use HubSpot\Client\Crm\Companies\Model\SimplePublicObjectWithAssociations as CompaniesWithAssociations;
use HubSpot\Client\Crm\Deals\Model\SimplePublicObjectWithAssociations as DealWithAssociations;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectInput;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectWithAssociations as ObjectWithAssociations;
use HubSpot\Client\Crm\Pipelines\Model\Error;
use HubSpot\Client\Crm\Pipelines\Model\PipelineStage;
use HubSpot\Client\Crm\Properties\Model\Property;
use HubSpot\Discovery\Discovery;
use Jiminny\Exceptions\CrmException;
use Jiminny\Exceptions\RateLimitException;
use Jiminny\Exceptions\SocialAccountTokenInvalidException;
use Jiminny\Jobs\Crm\NoteObject;
use Jiminny\Models\Crm\Field;
use Jiminny\Services\Crm\BaseClient;
use Jiminny\Services\Crm\Hubspot\DTO\Response\Owner;
use Jiminny\Services\SocialAccountService;
use SevenShores\Hubspot\Exceptions\BadRequest;
use SevenShores\Hubspot\Exceptions\HubspotException;
use SevenShores\Hubspot\Factory;
use SevenShores\Hubspot\Http\Response;
use Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService;
use Illuminate\Support\Facades\Redis;
use Throwable;
/**
* @phpstan-type 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)
{
$cacheKey = $this->getRateLimitCacheKey();
$cachedRetryAfter = Redis::get($cacheKey);
if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {
throw new RateLimitException(
'Hubspot rate limit (cached circuit-breaker)',
(int) $cachedRetryAfter,
);
}
try {
return $apiCall();
} catch (Throwable $e) {
if ($this->isHubspotRateLimit($e)) {
$retryAfter = $this->parseRetryAfter($e);
Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);
$this->log->warning('[Hubspot] Received 429 from API', [
'team_id' => $this->config->team_id,
'config_id' => $this->config->getId(),
'retry_after' => $retryAfter,
'policy' => $this->parsePolicy($e),
'reason' => $e->getMessage(),
]);
throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);
}
throw $e;
}
}
private function getRateLimitCacheKey(): string
{
return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());
}
public function isHubspotRateLimit(Throwable $e): bool
{
if ($e instanceof BadRequest
|| $e instanceof DealApiException
|| $e instanceof ContactApiException
|| $e instanceof CompanyApiException
|| $e instanceof \GuzzleHttp\Exception\RequestException
) {
return (int) $e->getCode() === 429;
}
return false;
}
public function parseRetryAfter(Throwable $e): int
{
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$e ' . PHP_EOL . print_r($e, true));
return 5;
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;
}
}
$policy = $this->parsePolicy($e);
if ($policy === 'TEN_SECONDLY_ROLLING') {
return 10;
}
if ($policy === 'SECONDLY') {
return 1;
}
if ($policy === 'DAILY_LIMIT') {
return 600;
}
$this->log->warning('[Hubspot] No retry-after header or policy name found, using default', [
'exception_class' => get_class($e),
]);
return 10;
}
public function parsePolicy(Throwable $e): ?string
{
if (! method_exists($e, 'getResponseBody')) {
return null;
}
$body = $e->getResponseBody();
if (is_string($body)) {
$body = json_decode($body, true) ?? [];
}
if (! is_array($body)) {
return null;
}
$policy = $body['policyName'] ?? $body['policy'] ?? $body['context']['policyName'] ?? null;
return is_string($policy) ? strtoupper($policy) : null;
}
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
);
}
/**
* Execute a search request against HubSpot CRM objects with rate limiting.
*
* @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')
* @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.
* @return array The search response with 'results', 'total', 'paging' keys
* @throws RateLimitException When rate limit is hit
* @throws HubspotException On API errors
*/
public function search(string $objectType, array $payload): array
{
$endpoint = self::BASE_URL . "/crm/v3/objects/{$objectType}/search";
return $this->executeRequest(function () use ($endpoint, $payload) {
$response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$response ' . PHP_EOL . print_r($response, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$headers ' . PHP_EOL . print_r($response->getHeaders(), true));
return $response->toArray();
});
}
/**
* @throws DealApiException
* @throws CrmException
*/
public function getOpportunityById(string $crmId, array $fields): array
{
try {
// $deal = $this->executeRequest(fn () => $this->getNewInstance()->crm()->deals()->basicApi()->getById(
$deal = $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') {
return $this->getInstance()->getClient()?->request(
method: $method,
endpoint: $endpoint,
query_string: $queryString
);
} else {
return $this->getInstance()->getClient()->request($method, $endpoint, [
'json' => ($payload),
]);
}
}
/**
* @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 (RateLimitException $e) {
// throw $e;
} 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);
}
}
Sync Changes
Hide This Notification
Code changed:
Hide
19
Previous Highlighted Error
Next Highlighted Error
[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {
"headers":{
"Date":["Thu,07 May 2026 14:21:15 GMT"],
"Content-Type":["application/json;charset=utf-8"],
"Transfer-Encoding":["chunked"],
"Connection":["keep-alive"],
"CF-Ray":["9f80deb8db60dc3a-SOF"],
"CF-Cache-Status":["DYNAMIC"],
"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],
"Vary":["origin,
accept-encoding"],
"access-control-allow-credentials":["false"],
"server-timing":["hcid;desc=\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\",
cfr;desc=\"9f80deb8e7c6dc3a-IAD\""],
"x-content-type-options":["nosniff"],
"x-hubspot-correlation-id":["019e02d0-6fd8-7812-bdba-885b7ccb3ee3"],
"Set-Cookie":["__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-[IP_ADDRESS]-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,
07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None"],
"Report-To":["{
\"endpoints\":[{
\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\"}],
\"group\":\"cf-nel\",
\"max_age\":604800}"],
"NEL":["{
\"success_fraction\":0.01,
\"report_to\":\"cf-nel\",
\"max_age\":604800}"],
"Server":["cloudflare"]}} {
"correlation_id":"95236535-ec98-4541-b92a-adfa73b69eab",
"trace_id":"c7ab8365-903f-46d4-9403-0e5b551e3545"}
Project
Project...
|
[{"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":"JY-20725-handle-HS-search-rate-limit, menu","depth":5,"bounds":{"left":0.064494684,"top":0.019952115,"width":0.09541223,"height":0.025538707},"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,"bounds":{"left":0.82413566,"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":"HandleHubspotRateLimitTest","depth":6,"bounds":{"left":0.8394282,"top":0.019952115,"width":0.076130316,"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 'HandleHubspotRateLimitTest'","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 'HandleHubspotRateLimitTest'","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":"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":"3","depth":4,"bounds":{"left":0.41156915,"top":0.19952115,"width":0.007978723,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"70","depth":4,"bounds":{"left":0.42154256,"top":0.19952115,"width":0.009973404,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":4,"bounds":{"left":0.43351063,"top":0.19952115,"width":0.007978723,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.4431516,"top":0.19792499,"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.4504654,"top":0.19792499,"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":"<?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\\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 Illuminate\\Support\\Facades\\Redis;\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\n public function __construct(\n SocialAccountService $socialAccountService,\n HubspotPaginationService $paginationService,\n HubspotTokenManager $tokenManager\n ) {\n parent::__construct($socialAccountService);\n $this->paginationService = $paginationService;\n $this->tokenManager = $tokenManager;\n\n $this->setBaseUrl(self::BASE_URL);\n $this->setVersion(self::MIN_API_VERSION);\n }\n\n /**\n * Reacts to a rate limits (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 $cacheKey = $this->getRateLimitCacheKey();\n\n $cachedRetryAfter = Redis::get($cacheKey);\n if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {\n throw new RateLimitException(\n 'Hubspot rate limit (cached circuit-breaker)',\n (int) $cachedRetryAfter,\n );\n }\n\n try {\n return $apiCall();\n } catch (Throwable $e) {\n if ($this->isHubspotRateLimit($e)) {\n $retryAfter = $this->parseRetryAfter($e);\n\n Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);\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 'policy' => $this->parsePolicy($e),\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 getRateLimitCacheKey(): string\n {\n return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());\n }\n\n public function isHubspotRateLimit(Throwable $e): bool\n {\n if ($e instanceof BadRequest\n || $e instanceof DealApiException\n || $e instanceof ContactApiException\n || $e instanceof CompanyApiException\n || $e instanceof \\GuzzleHttp\\Exception\\RequestException\n ) {\n return (int) $e->getCode() === 429;\n }\n\n return false;\n }\n\n public function parseRetryAfter(Throwable $e): int\n {\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$e ' . PHP_EOL . print_r($e, true));\n return 5;\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 $policy = $this->parsePolicy($e);\n if ($policy === 'TEN_SECONDLY_ROLLING') {\n return 10;\n }\n if ($policy === 'SECONDLY') {\n return 1;\n }\n if ($policy === 'DAILY_LIMIT') {\n return 600;\n }\n\n $this->log->warning('[Hubspot] No retry-after header or policy name found, using default', [\n 'exception_class' => get_class($e),\n ]);\n\n return 10;\n }\n\n public function parsePolicy(Throwable $e): ?string\n {\n if (! method_exists($e, 'getResponseBody')) {\n return null;\n }\n\n $body = $e->getResponseBody();\n if (is_string($body)) {\n $body = json_decode($body, true) ?? [];\n }\n\n if (! is_array($body)) {\n return null;\n }\n\n $policy = $body['policyName'] ?? $body['policy'] ?? $body['context']['policyName'] ?? null;\n\n return is_string($policy) ? strtoupper($policy) : null;\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 * Execute a search request against HubSpot CRM objects with rate limiting.\n *\n * @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')\n * @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.\n * @return array The search response with 'results', 'total', 'paging' keys\n * @throws RateLimitException When rate limit is hit\n * @throws HubspotException On API errors\n */\n public function search(string $objectType, array $payload): array\n {\n $endpoint = self::BASE_URL . \"/crm/v3/objects/{$objectType}/search\";\n\n return $this->executeRequest(function () use ($endpoint, $payload) {\n $response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$response ' . PHP_EOL . print_r($response, true));\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$headers ' . PHP_EOL . print_r($response->getHeaders(), true));\n\n return $response->toArray();\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 $deal = $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 return $this->getInstance()->getClient()?->request(\n method: $method,\n endpoint: $endpoint,\n query_string: $queryString\n );\n } else {\n return $this->getInstance()->getClient()->request($method, $endpoint, [\n 'json' => ($payload),\n ]);\n }\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 (RateLimitException $e) {\n// throw $e;\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\\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 Illuminate\\Support\\Facades\\Redis;\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\n public function __construct(\n SocialAccountService $socialAccountService,\n HubspotPaginationService $paginationService,\n HubspotTokenManager $tokenManager\n ) {\n parent::__construct($socialAccountService);\n $this->paginationService = $paginationService;\n $this->tokenManager = $tokenManager;\n\n $this->setBaseUrl(self::BASE_URL);\n $this->setVersion(self::MIN_API_VERSION);\n }\n\n /**\n * Reacts to a rate limits (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 $cacheKey = $this->getRateLimitCacheKey();\n\n $cachedRetryAfter = Redis::get($cacheKey);\n if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {\n throw new RateLimitException(\n 'Hubspot rate limit (cached circuit-breaker)',\n (int) $cachedRetryAfter,\n );\n }\n\n try {\n return $apiCall();\n } catch (Throwable $e) {\n if ($this->isHubspotRateLimit($e)) {\n $retryAfter = $this->parseRetryAfter($e);\n\n Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);\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 'policy' => $this->parsePolicy($e),\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 getRateLimitCacheKey(): string\n {\n return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());\n }\n\n public function isHubspotRateLimit(Throwable $e): bool\n {\n if ($e instanceof BadRequest\n || $e instanceof DealApiException\n || $e instanceof ContactApiException\n || $e instanceof CompanyApiException\n || $e instanceof \\GuzzleHttp\\Exception\\RequestException\n ) {\n return (int) $e->getCode() === 429;\n }\n\n return false;\n }\n\n public function parseRetryAfter(Throwable $e): int\n {\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$e ' . PHP_EOL . print_r($e, true));\n return 5;\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 $policy = $this->parsePolicy($e);\n if ($policy === 'TEN_SECONDLY_ROLLING') {\n return 10;\n }\n if ($policy === 'SECONDLY') {\n return 1;\n }\n if ($policy === 'DAILY_LIMIT') {\n return 600;\n }\n\n $this->log->warning('[Hubspot] No retry-after header or policy name found, using default', [\n 'exception_class' => get_class($e),\n ]);\n\n return 10;\n }\n\n public function parsePolicy(Throwable $e): ?string\n {\n if (! method_exists($e, 'getResponseBody')) {\n return null;\n }\n\n $body = $e->getResponseBody();\n if (is_string($body)) {\n $body = json_decode($body, true) ?? [];\n }\n\n if (! is_array($body)) {\n return null;\n }\n\n $policy = $body['policyName'] ?? $body['policy'] ?? $body['context']['policyName'] ?? null;\n\n return is_string($policy) ? strtoupper($policy) : null;\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 * Execute a search request against HubSpot CRM objects with rate limiting.\n *\n * @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')\n * @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.\n * @return array The search response with 'results', 'total', 'paging' keys\n * @throws RateLimitException When rate limit is hit\n * @throws HubspotException On API errors\n */\n public function search(string $objectType, array $payload): array\n {\n $endpoint = self::BASE_URL . \"/crm/v3/objects/{$objectType}/search\";\n\n return $this->executeRequest(function () use ($endpoint, $payload) {\n $response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$response ' . PHP_EOL . print_r($response, true));\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$headers ' . PHP_EOL . print_r($response->getHeaders(), true));\n\n return $response->toArray();\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 $deal = $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 return $this->getInstance()->getClient()?->request(\n method: $method,\n endpoint: $endpoint,\n query_string: $queryString\n );\n } else {\n return $this->getInstance()->getClient()->request($method, $endpoint, [\n 'json' => ($payload),\n ]);\n }\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 (RateLimitException $e) {\n// throw $e;\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":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":"19","depth":4,"bounds":{"left":0.7124335,"top":0.10055866,"width":0.009640957,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.7237367,"top":0.09896249,"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.73105055,"top":0.09896249,"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":"[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {\n\"headers\":{\n\"Date\":[\"Thu,07 May 2026 14:21:15 GMT\"],\n \"Content-Type\":[\"application/json;charset=utf-8\"],\n \"Transfer-Encoding\":[\"chunked\"],\n \"Connection\":[\"keep-alive\"],\n \"CF-Ray\":[\"9f80deb8db60dc3a-SOF\"],\n \"CF-Cache-Status\":[\"DYNAMIC\"],\n \"Strict-Transport-Security\":[\"max-age=31536000; includeSubDomains; preload\"],\n \"Vary\":[\"origin,\n accept-encoding\"],\n \"access-control-allow-credentials\":[\"false\"],\n \"server-timing\":[\"hcid;desc=\\\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\\\",\n cfr;desc=\\\"9f80deb8e7c6dc3a-IAD\\\"\"],\n \"x-content-type-options\":[\"nosniff\"],\n \"x-hubspot-correlation-id\":[\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\"],\n \"Set-Cookie\":[\"__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-1.0.1.1-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,\n 07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None\"],\n \"Report-To\":[\"{\n\\\"endpoints\\\":[{\n\\\"url\\\":\\\"https:\\\\/\\\\/a.nel.cloudflare.com\\\\/report\\\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\\\"}],\n\\\"group\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"NEL\":[\"{\n\\\"success_fraction\\\":0.01,\n\\\"report_to\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"Server\":[\"cloudflare\"]}} {\n\"correlation_id\":\"95236535-ec98-4541-b92a-adfa73b69eab\",\n\"trace_id\":\"c7ab8365-903f-46d4-9403-0e5b551e3545\"}","depth":4,"bounds":{"left":0.47672874,"top":0.09736632,"width":0.52327126,"height":0.8818835},"on_screen":true,"lines":[{"char_start":207,"char_count":30,"bounds":{"left":0.47672874,"top":0.0,"width":0.07513298,"height":0.014365523}},{"char_start":237,"char_count":36,"bounds":{"left":0.47672874,"top":0.0,"width":0.09075798,"height":0.014365523}},{"char_start":273,"char_count":32,"bounds":{"left":0.47672874,"top":0.0,"width":0.080119684,"height":0.014365523}},{"char_start":305,"char_count":79,"bounds":{"left":0.47672874,"top":0.0,"width":0.20212767,"height":0.014365523}},{"char_start":384,"char_count":18,"bounds":{"left":0.47672874,"top":0.0,"width":0.043882977,"height":0.014365523}},{"char_start":402,"char_count":21,"bounds":{"left":0.47672874,"top":0.0,"width":0.051861703,"height":0.014365523}},{"char_start":423,"char_count":48,"bounds":{"left":0.47672874,"top":0.008778931,"width":0.12167553,"height":0.014365523}},{"char_start":471,"char_count":72,"bounds":{"left":0.47672874,"top":0.026336791,"width":0.18384309,"height":0.014365523}},{"char_start":543,"char_count":40,"bounds":{"left":0.47672874,"top":0.043894652,"width":0.10106383,"height":0.014365523}},{"char_start":583,"char_count":41,"bounds":{"left":0.47672874,"top":0.061452515,"width":0.10372341,"height":0.014365523}},{"char_start":624,"char_count":72,"bounds":{"left":0.47672874,"top":0.079010375,"width":0.18384309,"height":0.014365523}},{"char_start":696,"char_count":219,"bounds":{"left":0.47672874,"top":0.096568234,"width":0.52327126,"height":0.014365523}},{"char_start":915,"char_count":83,"bounds":{"left":0.47672874,"top":0.11412609,"width":0.21243352,"height":0.014365523}},{"char_start":998,"char_count":20,"bounds":{"left":0.47672874,"top":0.13168396,"width":0.04920213,"height":0.014365523}},{"char_start":1018,"char_count":17,"bounds":{"left":0.47672874,"top":0.14924182,"width":0.041223403,"height":0.014365523}},{"char_start":1035,"char_count":203,"bounds":{"left":0.47672874,"top":0.16679968,"width":0.52327126,"height":0.014365523}},{"char_start":1238,"char_count":22,"bounds":{"left":0.47672874,"top":0.18435754,"width":0.05418883,"height":0.014365523}},{"char_start":1260,"char_count":23,"bounds":{"left":0.47672874,"top":0.2019154,"width":0.056848403,"height":0.014365523}},{"char_start":1283,"char_count":10,"bounds":{"left":0.47672874,"top":0.21947326,"width":0.023271276,"height":0.014365523}},{"char_start":1293,"char_count":27,"bounds":{"left":0.47672874,"top":0.23703113,"width":0.06715426,"height":0.014365523}},{"char_start":1320,"char_count":26,"bounds":{"left":0.47672874,"top":0.254589,"width":0.06482713,"height":0.014365523}},{"char_start":1346,"char_count":23,"bounds":{"left":0.47672874,"top":0.27214685,"width":0.056848403,"height":0.014365523}},{"char_start":1369,"char_count":28,"bounds":{"left":0.47672874,"top":0.2897047,"width":0.06981383,"height":0.014365523}},{"char_start":1397,"char_count":57,"bounds":{"left":0.47672874,"top":0.30726257,"width":0.14494681,"height":0.014365523}}],"value":"[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {\n\"headers\":{\n\"Date\":[\"Thu,07 May 2026 14:21:15 GMT\"],\n \"Content-Type\":[\"application/json;charset=utf-8\"],\n \"Transfer-Encoding\":[\"chunked\"],\n \"Connection\":[\"keep-alive\"],\n \"CF-Ray\":[\"9f80deb8db60dc3a-SOF\"],\n \"CF-Cache-Status\":[\"DYNAMIC\"],\n \"Strict-Transport-Security\":[\"max-age=31536000; includeSubDomains; preload\"],\n \"Vary\":[\"origin,\n accept-encoding\"],\n \"access-control-allow-credentials\":[\"false\"],\n \"server-timing\":[\"hcid;desc=\\\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\\\",\n cfr;desc=\\\"9f80deb8e7c6dc3a-IAD\\\"\"],\n \"x-content-type-options\":[\"nosniff\"],\n \"x-hubspot-correlation-id\":[\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\"],\n \"Set-Cookie\":[\"__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-1.0.1.1-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,\n 07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None\"],\n \"Report-To\":[\"{\n\\\"endpoints\\\":[{\n\\\"url\\\":\\\"https:\\\\/\\\\/a.nel.cloudflare.com\\\\/report\\\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\\\"}],\n\\\"group\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"NEL\":[\"{\n\\\"success_fraction\\\":0.01,\n\\\"report_to\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"Server\":[\"cloudflare\"]}} {\n\"correlation_id\":\"95236535-ec98-4541-b92a-adfa73b69eab\",\n\"trace_id\":\"c7ab8365-903f-46d4-9403-0e5b551e3545\"}","role_description":"text entry area","is_enabled":true,"is_focused":false,"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}]...
|
-753073813067891959
|
6378618611371477092
|
click
|
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
3
70
3
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Services\Crm\Hubspot;
use HubSpot\Client\Crm\Deals\ApiException as DealApiException;
use HubSpot\Client\Crm\Contacts\ApiException as ContactApiException;
use HubSpot\Client\Crm\Companies\ApiException as CompanyApiException;
use HubSpot\Client\Crm\Contacts\Model\SimplePublicObjectWithAssociations as ContactsWithAssociations;
use HubSpot\Client\Crm\Companies\Model\SimplePublicObjectWithAssociations as CompaniesWithAssociations;
use HubSpot\Client\Crm\Deals\Model\SimplePublicObjectWithAssociations as DealWithAssociations;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectInput;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectWithAssociations as ObjectWithAssociations;
use HubSpot\Client\Crm\Pipelines\Model\Error;
use HubSpot\Client\Crm\Pipelines\Model\PipelineStage;
use HubSpot\Client\Crm\Properties\Model\Property;
use HubSpot\Discovery\Discovery;
use Jiminny\Exceptions\CrmException;
use Jiminny\Exceptions\RateLimitException;
use Jiminny\Exceptions\SocialAccountTokenInvalidException;
use Jiminny\Jobs\Crm\NoteObject;
use Jiminny\Models\Crm\Field;
use Jiminny\Services\Crm\BaseClient;
use Jiminny\Services\Crm\Hubspot\DTO\Response\Owner;
use Jiminny\Services\SocialAccountService;
use SevenShores\Hubspot\Exceptions\BadRequest;
use SevenShores\Hubspot\Exceptions\HubspotException;
use SevenShores\Hubspot\Factory;
use SevenShores\Hubspot\Http\Response;
use Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService;
use Illuminate\Support\Facades\Redis;
use Throwable;
/**
* @phpstan-type 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)
{
$cacheKey = $this->getRateLimitCacheKey();
$cachedRetryAfter = Redis::get($cacheKey);
if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {
throw new RateLimitException(
'Hubspot rate limit (cached circuit-breaker)',
(int) $cachedRetryAfter,
);
}
try {
return $apiCall();
} catch (Throwable $e) {
if ($this->isHubspotRateLimit($e)) {
$retryAfter = $this->parseRetryAfter($e);
Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);
$this->log->warning('[Hubspot] Received 429 from API', [
'team_id' => $this->config->team_id,
'config_id' => $this->config->getId(),
'retry_after' => $retryAfter,
'policy' => $this->parsePolicy($e),
'reason' => $e->getMessage(),
]);
throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);
}
throw $e;
}
}
private function getRateLimitCacheKey(): string
{
return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());
}
public function isHubspotRateLimit(Throwable $e): bool
{
if ($e instanceof BadRequest
|| $e instanceof DealApiException
|| $e instanceof ContactApiException
|| $e instanceof CompanyApiException
|| $e instanceof \GuzzleHttp\Exception\RequestException
) {
return (int) $e->getCode() === 429;
}
return false;
}
public function parseRetryAfter(Throwable $e): int
{
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$e ' . PHP_EOL . print_r($e, true));
return 5;
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;
}
}
$policy = $this->parsePolicy($e);
if ($policy === 'TEN_SECONDLY_ROLLING') {
return 10;
}
if ($policy === 'SECONDLY') {
return 1;
}
if ($policy === 'DAILY_LIMIT') {
return 600;
}
$this->log->warning('[Hubspot] No retry-after header or policy name found, using default', [
'exception_class' => get_class($e),
]);
return 10;
}
public function parsePolicy(Throwable $e): ?string
{
if (! method_exists($e, 'getResponseBody')) {
return null;
}
$body = $e->getResponseBody();
if (is_string($body)) {
$body = json_decode($body, true) ?? [];
}
if (! is_array($body)) {
return null;
}
$policy = $body['policyName'] ?? $body['policy'] ?? $body['context']['policyName'] ?? null;
return is_string($policy) ? strtoupper($policy) : null;
}
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
);
}
/**
* Execute a search request against HubSpot CRM objects with rate limiting.
*
* @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')
* @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.
* @return array The search response with 'results', 'total', 'paging' keys
* @throws RateLimitException When rate limit is hit
* @throws HubspotException On API errors
*/
public function search(string $objectType, array $payload): array
{
$endpoint = self::BASE_URL . "/crm/v3/objects/{$objectType}/search";
return $this->executeRequest(function () use ($endpoint, $payload) {
$response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$response ' . PHP_EOL . print_r($response, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$headers ' . PHP_EOL . print_r($response->getHeaders(), true));
return $response->toArray();
});
}
/**
* @throws DealApiException
* @throws CrmException
*/
public function getOpportunityById(string $crmId, array $fields): array
{
try {
// $deal = $this->executeRequest(fn () => $this->getNewInstance()->crm()->deals()->basicApi()->getById(
$deal = $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') {
return $this->getInstance()->getClient()?->request(
method: $method,
endpoint: $endpoint,
query_string: $queryString
);
} else {
return $this->getInstance()->getClient()->request($method, $endpoint, [
'json' => ($payload),
]);
}
}
/**
* @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 (RateLimitException $e) {
// throw $e;
} 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);
}
}
Sync Changes
Hide This Notification
Code changed:
Hide
19
Previous Highlighted Error
Next Highlighted Error
[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {
"headers":{
"Date":["Thu,07 May 2026 14:21:15 GMT"],
"Content-Type":["application/json;charset=utf-8"],
"Transfer-Encoding":["chunked"],
"Connection":["keep-alive"],
"CF-Ray":["9f80deb8db60dc3a-SOF"],
"CF-Cache-Status":["DYNAMIC"],
"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],
"Vary":["origin,
accept-encoding"],
"access-control-allow-credentials":["false"],
"server-timing":["hcid;desc=\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\",
cfr;desc=\"9f80deb8e7c6dc3a-IAD\""],
"x-content-type-options":["nosniff"],
"x-hubspot-correlation-id":["019e02d0-6fd8-7812-bdba-885b7ccb3ee3"],
"Set-Cookie":["__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-[IP_ADDRESS]-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,
07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None"],
"Report-To":["{
\"endpoints\":[{
\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\"}],
\"group\":\"cf-nel\",
\"max_age\":604800}"],
"NEL":["{
\"success_fraction\":0.01,
\"report_to\":\"cf-nel\",
\"max_age\":604800}"],
"Server":["cloudflare"]}} {
"correlation_id":"95236535-ec98-4541-b92a-adfa73b69eab",
"trace_id":"c7ab8365-903f-46d4-9403-0e5b551e3545"}
Project
Project...
|
18061
|
NULL
|
NULL
|
NULL
|
|
18063
|
NULL
|
0
|
2026-05-11T10:47:37.419299+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778496457419_m1.jpg...
|
PhpStorm
|
faVsco.js – custom.log
|
1
|
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
3
70
3
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Services\Crm\Hubspot;
use HubSpot\Client\Crm\Deals\ApiException as DealApiException;
use HubSpot\Client\Crm\Contacts\ApiException as ContactApiException;
use HubSpot\Client\Crm\Companies\ApiException as CompanyApiException;
use HubSpot\Client\Crm\Contacts\Model\SimplePublicObjectWithAssociations as ContactsWithAssociations;
use HubSpot\Client\Crm\Companies\Model\SimplePublicObjectWithAssociations as CompaniesWithAssociations;
use HubSpot\Client\Crm\Deals\Model\SimplePublicObjectWithAssociations as DealWithAssociations;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectInput;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectWithAssociations as ObjectWithAssociations;
use HubSpot\Client\Crm\Pipelines\Model\Error;
use HubSpot\Client\Crm\Pipelines\Model\PipelineStage;
use HubSpot\Client\Crm\Properties\Model\Property;
use HubSpot\Discovery\Discovery;
use Jiminny\Exceptions\CrmException;
use Jiminny\Exceptions\RateLimitException;
use Jiminny\Exceptions\SocialAccountTokenInvalidException;
use Jiminny\Jobs\Crm\NoteObject;
use Jiminny\Models\Crm\Field;
use Jiminny\Services\Crm\BaseClient;
use Jiminny\Services\Crm\Hubspot\DTO\Response\Owner;
use Jiminny\Services\SocialAccountService;
use SevenShores\Hubspot\Exceptions\BadRequest;
use SevenShores\Hubspot\Exceptions\HubspotException;
use SevenShores\Hubspot\Factory;
use SevenShores\Hubspot\Http\Response;
use Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService;
use Illuminate\Support\Facades\Redis;
use Throwable;
/**
* @phpstan-type 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)
{
$cacheKey = $this->getRateLimitCacheKey();
$cachedRetryAfter = Redis::get($cacheKey);
if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {
throw new RateLimitException(
'Hubspot rate limit (cached circuit-breaker)',
(int) $cachedRetryAfter,
);
}
try {
return $apiCall();
} catch (Throwable $e) {
if ($this->isHubspotRateLimit($e)) {
$retryAfter = $this->parseRetryAfter($e);
Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);
$this->log->warning('[Hubspot] Received 429 from API', [
'team_id' => $this->config->team_id,
'config_id' => $this->config->getId(),
'retry_after' => $retryAfter,
'policy' => $this->parsePolicy($e),
'reason' => $e->getMessage(),
]);
throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);
}
throw $e;
}
}
private function getRateLimitCacheKey(): string
{
return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());
}
public function isHubspotRateLimit(Throwable $e): bool
{
if ($e instanceof BadRequest
|| $e instanceof DealApiException
|| $e instanceof ContactApiException
|| $e instanceof CompanyApiException
|| $e instanceof \GuzzleHttp\Exception\RequestException
) {
return (int) $e->getCode() === 429;
}
return false;
}
public function parseRetryAfter(Throwable $e): int
{
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$e ' . PHP_EOL . print_r($e, true));
return 5;
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;
}
}
$policy = $this->parsePolicy($e);
if ($policy === 'TEN_SECONDLY_ROLLING') {
return 10;
}
if ($policy === 'SECONDLY') {
return 1;
}
if ($policy === 'DAILY_LIMIT') {
return 600;
}
$this->log->warning('[Hubspot] No retry-after header or policy name found, using default', [
'exception_class' => get_class($e),
]);
return 10;
}
public function parsePolicy(Throwable $e): ?string
{
if (! method_exists($e, 'getResponseBody')) {
return null;
}
$body = $e->getResponseBody();
if (is_string($body)) {
$body = json_decode($body, true) ?? [];
}
if (! is_array($body)) {
return null;
}
$policy = $body['policyName'] ?? $body['policy'] ?? $body['context']['policyName'] ?? null;
return is_string($policy) ? strtoupper($policy) : null;
}
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
);
}
/**
* Execute a search request against HubSpot CRM objects with rate limiting.
*
* @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')
* @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.
* @return array The search response with 'results', 'total', 'paging' keys
* @throws RateLimitException When rate limit is hit
* @throws HubspotException On API errors
*/
public function search(string $objectType, array $payload): array
{
$endpoint = self::BASE_URL . "/crm/v3/objects/{$objectType}/search";
return $this->executeRequest(function () use ($endpoint, $payload) {
$response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$response ' . PHP_EOL . print_r($response, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$headers ' . PHP_EOL . print_r($response->getHeaders(), true));
return $response->toArray();
});
}
/**
* @throws DealApiException
* @throws CrmException
*/
public function getOpportunityById(string $crmId, array $fields): array
{
try {
// $deal = $this->executeRequest(fn () => $this->getNewInstance()->crm()->deals()->basicApi()->getById(
$deal = $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') {
return $this->getInstance()->getClient()?->request(
method: $method,
endpoint: $endpoint,
query_string: $queryString
);
} else {
return $this->getInstance()->getClient()->request($method, $endpoint, [
'json' => ($payload),
]);
}
}
/**
* @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 (RateLimitException $e) {
// throw $e;
} 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);
}
}
Sync Changes
Hide This Notification
Code changed:
Hide
19
Previous Highlighted Error
Next Highlighted Error
[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {
"headers":{
"Date":["Thu,07 May 2026 14:21:15 GMT"],
"Content-Type":["application/json;charset=utf-8"],
"Transfer-Encoding":["chunked"],
"Connection":["keep-alive"],
"CF-Ray":["9f80deb8db60dc3a-SOF"],
"CF-Cache-Status":["DYNAMIC"],
"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],
"Vary":["origin,
accept-encoding"],
"access-control-allow-credentials":["false"],
"server-timing":["hcid;desc=\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\",
cfr;desc=\"9f80deb8e7c6dc3a-IAD\""],
"x-content-type-options":["nosniff"],
"x-hubspot-correlation-id":["019e02d0-6fd8-7812-bdba-885b7ccb3ee3"],
"Set-Cookie":["__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-[IP_ADDRESS]-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,
07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None"],
"Report-To":["{
\"endpoints\":[{
\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\"}],
\"group\":\"cf-nel\",
\"max_age\":604800}"],
"NEL":["{
\"success_fraction\":0.01,
\"report_to\":\"cf-nel\",
\"max_age\":604800}"],
"Server":["cloudflare"]}} {
"correlation_id":"95236535-ec98-4541-b92a-adfa73b69eab",
"trace_id":"c7ab8365-903f-46d4-9403-0e5b551e3545"}
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":"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":"3","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"70","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","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\\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\\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 Illuminate\\Support\\Facades\\Redis;\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\n public function __construct(\n SocialAccountService $socialAccountService,\n HubspotPaginationService $paginationService,\n HubspotTokenManager $tokenManager\n ) {\n parent::__construct($socialAccountService);\n $this->paginationService = $paginationService;\n $this->tokenManager = $tokenManager;\n\n $this->setBaseUrl(self::BASE_URL);\n $this->setVersion(self::MIN_API_VERSION);\n }\n\n /**\n * Reacts to a rate limits (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 $cacheKey = $this->getRateLimitCacheKey();\n\n $cachedRetryAfter = Redis::get($cacheKey);\n if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {\n throw new RateLimitException(\n 'Hubspot rate limit (cached circuit-breaker)',\n (int) $cachedRetryAfter,\n );\n }\n\n try {\n return $apiCall();\n } catch (Throwable $e) {\n if ($this->isHubspotRateLimit($e)) {\n $retryAfter = $this->parseRetryAfter($e);\n\n Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);\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 'policy' => $this->parsePolicy($e),\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 getRateLimitCacheKey(): string\n {\n return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());\n }\n\n public function isHubspotRateLimit(Throwable $e): bool\n {\n if ($e instanceof BadRequest\n || $e instanceof DealApiException\n || $e instanceof ContactApiException\n || $e instanceof CompanyApiException\n || $e instanceof \\GuzzleHttp\\Exception\\RequestException\n ) {\n return (int) $e->getCode() === 429;\n }\n\n return false;\n }\n\n public function parseRetryAfter(Throwable $e): int\n {\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$e ' . PHP_EOL . print_r($e, true));\n return 5;\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 $policy = $this->parsePolicy($e);\n if ($policy === 'TEN_SECONDLY_ROLLING') {\n return 10;\n }\n if ($policy === 'SECONDLY') {\n return 1;\n }\n if ($policy === 'DAILY_LIMIT') {\n return 600;\n }\n\n $this->log->warning('[Hubspot] No retry-after header or policy name found, using default', [\n 'exception_class' => get_class($e),\n ]);\n\n return 10;\n }\n\n public function parsePolicy(Throwable $e): ?string\n {\n if (! method_exists($e, 'getResponseBody')) {\n return null;\n }\n\n $body = $e->getResponseBody();\n if (is_string($body)) {\n $body = json_decode($body, true) ?? [];\n }\n\n if (! is_array($body)) {\n return null;\n }\n\n $policy = $body['policyName'] ?? $body['policy'] ?? $body['context']['policyName'] ?? null;\n\n return is_string($policy) ? strtoupper($policy) : null;\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 * Execute a search request against HubSpot CRM objects with rate limiting.\n *\n * @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')\n * @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.\n * @return array The search response with 'results', 'total', 'paging' keys\n * @throws RateLimitException When rate limit is hit\n * @throws HubspotException On API errors\n */\n public function search(string $objectType, array $payload): array\n {\n $endpoint = self::BASE_URL . \"/crm/v3/objects/{$objectType}/search\";\n\n return $this->executeRequest(function () use ($endpoint, $payload) {\n $response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$response ' . PHP_EOL . print_r($response, true));\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$headers ' . PHP_EOL . print_r($response->getHeaders(), true));\n\n return $response->toArray();\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 $deal = $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 return $this->getInstance()->getClient()?->request(\n method: $method,\n endpoint: $endpoint,\n query_string: $queryString\n );\n } else {\n return $this->getInstance()->getClient()->request($method, $endpoint, [\n 'json' => ($payload),\n ]);\n }\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 (RateLimitException $e) {\n// throw $e;\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\\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 Illuminate\\Support\\Facades\\Redis;\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\n public function __construct(\n SocialAccountService $socialAccountService,\n HubspotPaginationService $paginationService,\n HubspotTokenManager $tokenManager\n ) {\n parent::__construct($socialAccountService);\n $this->paginationService = $paginationService;\n $this->tokenManager = $tokenManager;\n\n $this->setBaseUrl(self::BASE_URL);\n $this->setVersion(self::MIN_API_VERSION);\n }\n\n /**\n * Reacts to a rate limits (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 $cacheKey = $this->getRateLimitCacheKey();\n\n $cachedRetryAfter = Redis::get($cacheKey);\n if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {\n throw new RateLimitException(\n 'Hubspot rate limit (cached circuit-breaker)',\n (int) $cachedRetryAfter,\n );\n }\n\n try {\n return $apiCall();\n } catch (Throwable $e) {\n if ($this->isHubspotRateLimit($e)) {\n $retryAfter = $this->parseRetryAfter($e);\n\n Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);\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 'policy' => $this->parsePolicy($e),\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 getRateLimitCacheKey(): string\n {\n return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());\n }\n\n public function isHubspotRateLimit(Throwable $e): bool\n {\n if ($e instanceof BadRequest\n || $e instanceof DealApiException\n || $e instanceof ContactApiException\n || $e instanceof CompanyApiException\n || $e instanceof \\GuzzleHttp\\Exception\\RequestException\n ) {\n return (int) $e->getCode() === 429;\n }\n\n return false;\n }\n\n public function parseRetryAfter(Throwable $e): int\n {\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$e ' . PHP_EOL . print_r($e, true));\n return 5;\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 $policy = $this->parsePolicy($e);\n if ($policy === 'TEN_SECONDLY_ROLLING') {\n return 10;\n }\n if ($policy === 'SECONDLY') {\n return 1;\n }\n if ($policy === 'DAILY_LIMIT') {\n return 600;\n }\n\n $this->log->warning('[Hubspot] No retry-after header or policy name found, using default', [\n 'exception_class' => get_class($e),\n ]);\n\n return 10;\n }\n\n public function parsePolicy(Throwable $e): ?string\n {\n if (! method_exists($e, 'getResponseBody')) {\n return null;\n }\n\n $body = $e->getResponseBody();\n if (is_string($body)) {\n $body = json_decode($body, true) ?? [];\n }\n\n if (! is_array($body)) {\n return null;\n }\n\n $policy = $body['policyName'] ?? $body['policy'] ?? $body['context']['policyName'] ?? null;\n\n return is_string($policy) ? strtoupper($policy) : null;\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 * Execute a search request against HubSpot CRM objects with rate limiting.\n *\n * @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')\n * @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.\n * @return array The search response with 'results', 'total', 'paging' keys\n * @throws RateLimitException When rate limit is hit\n * @throws HubspotException On API errors\n */\n public function search(string $objectType, array $payload): array\n {\n $endpoint = self::BASE_URL . \"/crm/v3/objects/{$objectType}/search\";\n\n return $this->executeRequest(function () use ($endpoint, $payload) {\n $response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$response ' . PHP_EOL . print_r($response, true));\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$headers ' . PHP_EOL . print_r($response->getHeaders(), true));\n\n return $response->toArray();\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 $deal = $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 return $this->getInstance()->getClient()?->request(\n method: $method,\n endpoint: $endpoint,\n query_string: $queryString\n );\n } else {\n return $this->getInstance()->getClient()->request($method, $endpoint, [\n 'json' => ($payload),\n ]);\n }\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 (RateLimitException $e) {\n// throw $e;\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":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":"19","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-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {\n\"headers\":{\n\"Date\":[\"Thu,07 May 2026 14:21:15 GMT\"],\n \"Content-Type\":[\"application/json;charset=utf-8\"],\n \"Transfer-Encoding\":[\"chunked\"],\n \"Connection\":[\"keep-alive\"],\n \"CF-Ray\":[\"9f80deb8db60dc3a-SOF\"],\n \"CF-Cache-Status\":[\"DYNAMIC\"],\n \"Strict-Transport-Security\":[\"max-age=31536000; includeSubDomains; preload\"],\n \"Vary\":[\"origin,\n accept-encoding\"],\n \"access-control-allow-credentials\":[\"false\"],\n \"server-timing\":[\"hcid;desc=\\\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\\\",\n cfr;desc=\\\"9f80deb8e7c6dc3a-IAD\\\"\"],\n \"x-content-type-options\":[\"nosniff\"],\n \"x-hubspot-correlation-id\":[\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\"],\n \"Set-Cookie\":[\"__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-1.0.1.1-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,\n 07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None\"],\n \"Report-To\":[\"{\n\\\"endpoints\\\":[{\n\\\"url\\\":\\\"https:\\\\/\\\\/a.nel.cloudflare.com\\\\/report\\\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\\\"}],\n\\\"group\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"NEL\":[\"{\n\\\"success_fraction\\\":0.01,\n\\\"report_to\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"Server\":[\"cloudflare\"]}} {\n\"correlation_id\":\"95236535-ec98-4541-b92a-adfa73b69eab\",\n\"trace_id\":\"c7ab8365-903f-46d4-9403-0e5b551e3545\"}","depth":4,"on_screen":true,"value":"[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {\n\"headers\":{\n\"Date\":[\"Thu,07 May 2026 14:21:15 GMT\"],\n \"Content-Type\":[\"application/json;charset=utf-8\"],\n \"Transfer-Encoding\":[\"chunked\"],\n \"Connection\":[\"keep-alive\"],\n \"CF-Ray\":[\"9f80deb8db60dc3a-SOF\"],\n \"CF-Cache-Status\":[\"DYNAMIC\"],\n \"Strict-Transport-Security\":[\"max-age=31536000; includeSubDomains; preload\"],\n \"Vary\":[\"origin,\n accept-encoding\"],\n \"access-control-allow-credentials\":[\"false\"],\n \"server-timing\":[\"hcid;desc=\\\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\\\",\n cfr;desc=\\\"9f80deb8e7c6dc3a-IAD\\\"\"],\n \"x-content-type-options\":[\"nosniff\"],\n \"x-hubspot-correlation-id\":[\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\"],\n \"Set-Cookie\":[\"__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-1.0.1.1-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,\n 07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None\"],\n \"Report-To\":[\"{\n\\\"endpoints\\\":[{\n\\\"url\\\":\\\"https:\\\\/\\\\/a.nel.cloudflare.com\\\\/report\\\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\\\"}],\n\\\"group\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"NEL\":[\"{\n\\\"success_fraction\\\":0.01,\n\\\"report_to\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"Server\":[\"cloudflare\"]}} {\n\"correlation_id\":\"95236535-ec98-4541-b92a-adfa73b69eab\",\n\"trace_id\":\"c7ab8365-903f-46d4-9403-0e5b551e3545\"}","role_description":"text entry area","is_enabled":true,"is_focused":false,"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}]...
|
-5898935518848725433
|
6378618611371477092
|
click
|
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
3
70
3
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Services\Crm\Hubspot;
use HubSpot\Client\Crm\Deals\ApiException as DealApiException;
use HubSpot\Client\Crm\Contacts\ApiException as ContactApiException;
use HubSpot\Client\Crm\Companies\ApiException as CompanyApiException;
use HubSpot\Client\Crm\Contacts\Model\SimplePublicObjectWithAssociations as ContactsWithAssociations;
use HubSpot\Client\Crm\Companies\Model\SimplePublicObjectWithAssociations as CompaniesWithAssociations;
use HubSpot\Client\Crm\Deals\Model\SimplePublicObjectWithAssociations as DealWithAssociations;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectInput;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectWithAssociations as ObjectWithAssociations;
use HubSpot\Client\Crm\Pipelines\Model\Error;
use HubSpot\Client\Crm\Pipelines\Model\PipelineStage;
use HubSpot\Client\Crm\Properties\Model\Property;
use HubSpot\Discovery\Discovery;
use Jiminny\Exceptions\CrmException;
use Jiminny\Exceptions\RateLimitException;
use Jiminny\Exceptions\SocialAccountTokenInvalidException;
use Jiminny\Jobs\Crm\NoteObject;
use Jiminny\Models\Crm\Field;
use Jiminny\Services\Crm\BaseClient;
use Jiminny\Services\Crm\Hubspot\DTO\Response\Owner;
use Jiminny\Services\SocialAccountService;
use SevenShores\Hubspot\Exceptions\BadRequest;
use SevenShores\Hubspot\Exceptions\HubspotException;
use SevenShores\Hubspot\Factory;
use SevenShores\Hubspot\Http\Response;
use Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService;
use Illuminate\Support\Facades\Redis;
use Throwable;
/**
* @phpstan-type 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)
{
$cacheKey = $this->getRateLimitCacheKey();
$cachedRetryAfter = Redis::get($cacheKey);
if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {
throw new RateLimitException(
'Hubspot rate limit (cached circuit-breaker)',
(int) $cachedRetryAfter,
);
}
try {
return $apiCall();
} catch (Throwable $e) {
if ($this->isHubspotRateLimit($e)) {
$retryAfter = $this->parseRetryAfter($e);
Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);
$this->log->warning('[Hubspot] Received 429 from API', [
'team_id' => $this->config->team_id,
'config_id' => $this->config->getId(),
'retry_after' => $retryAfter,
'policy' => $this->parsePolicy($e),
'reason' => $e->getMessage(),
]);
throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);
}
throw $e;
}
}
private function getRateLimitCacheKey(): string
{
return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());
}
public function isHubspotRateLimit(Throwable $e): bool
{
if ($e instanceof BadRequest
|| $e instanceof DealApiException
|| $e instanceof ContactApiException
|| $e instanceof CompanyApiException
|| $e instanceof \GuzzleHttp\Exception\RequestException
) {
return (int) $e->getCode() === 429;
}
return false;
}
public function parseRetryAfter(Throwable $e): int
{
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$e ' . PHP_EOL . print_r($e, true));
return 5;
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;
}
}
$policy = $this->parsePolicy($e);
if ($policy === 'TEN_SECONDLY_ROLLING') {
return 10;
}
if ($policy === 'SECONDLY') {
return 1;
}
if ($policy === 'DAILY_LIMIT') {
return 600;
}
$this->log->warning('[Hubspot] No retry-after header or policy name found, using default', [
'exception_class' => get_class($e),
]);
return 10;
}
public function parsePolicy(Throwable $e): ?string
{
if (! method_exists($e, 'getResponseBody')) {
return null;
}
$body = $e->getResponseBody();
if (is_string($body)) {
$body = json_decode($body, true) ?? [];
}
if (! is_array($body)) {
return null;
}
$policy = $body['policyName'] ?? $body['policy'] ?? $body['context']['policyName'] ?? null;
return is_string($policy) ? strtoupper($policy) : null;
}
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
);
}
/**
* Execute a search request against HubSpot CRM objects with rate limiting.
*
* @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')
* @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.
* @return array The search response with 'results', 'total', 'paging' keys
* @throws RateLimitException When rate limit is hit
* @throws HubspotException On API errors
*/
public function search(string $objectType, array $payload): array
{
$endpoint = self::BASE_URL . "/crm/v3/objects/{$objectType}/search";
return $this->executeRequest(function () use ($endpoint, $payload) {
$response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$response ' . PHP_EOL . print_r($response, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$headers ' . PHP_EOL . print_r($response->getHeaders(), true));
return $response->toArray();
});
}
/**
* @throws DealApiException
* @throws CrmException
*/
public function getOpportunityById(string $crmId, array $fields): array
{
try {
// $deal = $this->executeRequest(fn () => $this->getNewInstance()->crm()->deals()->basicApi()->getById(
$deal = $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') {
return $this->getInstance()->getClient()?->request(
method: $method,
endpoint: $endpoint,
query_string: $queryString
);
} else {
return $this->getInstance()->getClient()->request($method, $endpoint, [
'json' => ($payload),
]);
}
}
/**
* @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 (RateLimitException $e) {
// throw $e;
} 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);
}
}
Sync Changes
Hide This Notification
Code changed:
Hide
19
Previous Highlighted Error
Next Highlighted Error
[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {
"headers":{
"Date":["Thu,07 May 2026 14:21:15 GMT"],
"Content-Type":["application/json;charset=utf-8"],
"Transfer-Encoding":["chunked"],
"Connection":["keep-alive"],
"CF-Ray":["9f80deb8db60dc3a-SOF"],
"CF-Cache-Status":["DYNAMIC"],
"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],
"Vary":["origin,
accept-encoding"],
"access-control-allow-credentials":["false"],
"server-timing":["hcid;desc=\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\",
cfr;desc=\"9f80deb8e7c6dc3a-IAD\""],
"x-content-type-options":["nosniff"],
"x-hubspot-correlation-id":["019e02d0-6fd8-7812-bdba-885b7ccb3ee3"],
"Set-Cookie":["__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-[IP_ADDRESS]-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,
07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None"],
"Report-To":["{
\"endpoints\":[{
\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\"}],
\"group\":\"cf-nel\",
\"max_age\":604800}"],
"NEL":["{
\"success_fraction\":0.01,
\"report_to\":\"cf-nel\",
\"max_age\":604800}"],
"Server":["cloudflare"]}} {
"correlation_id":"95236535-ec98-4541-b92a-adfa73b69eab",
"trace_id":"c7ab8365-903f-46d4-9403-0e5b551e3545"}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
17949
|
NULL
|
0
|
2026-05-11T10:42:39.462895+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778496159462_m2.jpg...
|
PhpStorm
|
faVsco.js – Client.php
|
1
|
NULL
|
monitor_2
|
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
3
68
3
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Services\Crm\Hubspot;
use HubSpot\Client\Crm\Deals\ApiException as DealApiException;
use HubSpot\Client\Crm\Contacts\ApiException as ContactApiException;
use HubSpot\Client\Crm\Companies\ApiException as CompanyApiException;
use HubSpot\Client\Crm\Contacts\Model\SimplePublicObjectWithAssociations as ContactsWithAssociations;
use HubSpot\Client\Crm\Companies\Model\SimplePublicObjectWithAssociations as CompaniesWithAssociations;
use HubSpot\Client\Crm\Deals\Model\SimplePublicObjectWithAssociations as DealWithAssociations;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectInput;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectWithAssociations as ObjectWithAssociations;
use HubSpot\Client\Crm\Pipelines\Model\Error;
use HubSpot\Client\Crm\Pipelines\Model\PipelineStage;
use HubSpot\Client\Crm\Properties\Model\Property;
use HubSpot\Discovery\Discovery;
use Jiminny\Exceptions\CrmException;
use Jiminny\Exceptions\RateLimitException;
use Jiminny\Exceptions\SocialAccountTokenInvalidException;
use Jiminny\Jobs\Crm\NoteObject;
use Jiminny\Models\Crm\Field;
use Jiminny\Services\Crm\BaseClient;
use Jiminny\Services\Crm\Hubspot\DTO\Response\Owner;
use Jiminny\Services\SocialAccountService;
use SevenShores\Hubspot\Exceptions\BadRequest;
use SevenShores\Hubspot\Exceptions\HubspotException;
use SevenShores\Hubspot\Factory;
use SevenShores\Hubspot\Http\Response;
use Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService;
use Illuminate\Support\Facades\Redis;
use Throwable;
/**
* @phpstan-type 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)
{
$cacheKey = $this->getRateLimitCacheKey();
$cachedRetryAfter = Redis::get($cacheKey);
if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {
throw new RateLimitException(
'Hubspot rate limit (cached circuit-breaker)',
(int) $cachedRetryAfter,
);
}
try {
return $apiCall();
} catch (Throwable $e) {
if ($this->isHubspotRateLimit($e)) {
$retryAfter = $this->parseRetryAfter($e);
Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);
$this->log->warning('[Hubspot] Received 429 from API', [
'team_id' => $this->config->team_id,
'config_id' => $this->config->getId(),
'retry_after' => $retryAfter,
'policy' => $this->parsePolicy($e),
'reason' => $e->getMessage(),
]);
throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);
}
throw $e;
}
}
private function getRateLimitCacheKey(): string
{
return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());
}
public function isHubspotRateLimit(Throwable $e): bool
{
if ($e instanceof BadRequest
|| $e instanceof DealApiException
|| $e instanceof ContactApiException
|| $e instanceof CompanyApiException
|| $e instanceof \GuzzleHttp\Exception\RequestException
) {
return (int) $e->getCode() === 429;
}
return false;
}
public function parseRetryAfter(Throwable $e): int
{
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$e ' . PHP_EOL . print_r($e, true));
return 5;
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;
}
}
$policy = $this->parsePolicy($e);
if ($policy === 'TEN_SECONDLY_ROLLING') {
return 10;
}
if ($policy === 'SECONDLY') {
return 1;
}
if ($policy === 'DAILY_LIMIT') {
return 600;
}
$this->log->warning('[Hubspot] No retry-after header or policy name found, using default', [
'exception_class' => get_class($e),
]);
return 10;
}
public function parsePolicy(Throwable $e): ?string
{
if (! method_exists($e, 'getResponseBody')) {
return null;
}
$body = $e->getResponseBody();
if (is_string($body)) {
$body = json_decode($body, true) ?? [];
}
if (! is_array($body)) {
return null;
}
$policy = $body['policyName'] ?? $body['policy'] ?? $body['context']['policyName'] ?? null;
return is_string($policy) ? strtoupper($policy) : null;
}
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
);
}
/**
* Execute a search request against HubSpot CRM objects with rate limiting.
*
* @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')
* @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.
* @return array The search response with 'results', 'total', 'paging' keys
* @throws RateLimitException When rate limit is hit
* @throws HubspotException On API errors
*/
public function search(string $objectType, array $payload): array
{
$endpoint = self::BASE_URL . "/crm/v3/objects/{$objectType}/search";
return $this->executeRequest(function () use ($endpoint, $payload) {
$response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$response ' . PHP_EOL . print_r($response, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$response ' . PHP_EOL . print_r($response->getResponseHeaders(), true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$response ' . PHP_EOL . print_r($response->getResponseHeaders(), true));
return $response->toArray();
});
}
/**
* @throws DealApiException
* @throws CrmException
*/
public function getOpportunityById(string $crmId, array $fields): array
{
try {
// $deal = $this->executeRequest(fn () => $this->getNewInstance()->crm()->deals()->basicApi()->getById(
$deal = $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') {
return $this->getInstance()->getClient()?->request(
method: $method,
endpoint: $endpoint,
query_string: $queryString
);
} else {
return $this->getInstance()->getClient()->request($method, $endpoint, [
'json' => ($payload),
]);
}
}
/**
* @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 (RateLimitException $e) {
// throw $e;
} 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);
}
}
Sync Changes
Hide This Notification
Code changed:
Hide
19
Previous Highlighted Error
Next Highlighted Error
[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {
"headers":{
"Date":["Thu,07 May 2026 14:21:15 GMT"],
"Content-Type":["application/json;charset=utf-8"],
"Transfer-Encoding":["chunked"],
"Connection":["keep-alive"],
"CF-Ray":["9f80deb8db60dc3a-SOF"],
"CF-Cache-Status":["DYNAMIC"],
"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],
"Vary":["origin,
accept-encoding"],
"access-control-allow-credentials":["false"],
"server-timing":["hcid;desc=\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\",
cfr;desc=\"9f80deb8e7c6dc3a-IAD\""],
"x-content-type-options":["nosniff"],
"x-hubspot-correlation-id":["019e02d0-6fd8-7812-bdba-885b7ccb3ee3"],
"Set-Cookie":["__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-[IP_ADDRESS]-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,
07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None"],
"Report-To":["{
\"endpoints\":[{
\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\"}],
\"group\":\"cf-nel\",
\"max_age\":604800}"],
"NEL":["{
\"success_fraction\":0.01,
\"report_to\":\"cf-nel\",
\"max_age\":604800}"],
"Server":["cloudflare"]}} {
"correlation_id":"95236535-ec98-4541-b92a-adfa73b69eab",
"trace_id":"c7ab8365-903f-46d4-9403-0e5b551e3545"}
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":"JY-20725-handle-HS-search-rate-limit, menu","depth":5,"bounds":{"left":0.064494684,"top":0.019952115,"width":0.09541223,"height":0.025538707},"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,"bounds":{"left":0.82413566,"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":"HandleHubspotRateLimitTest","depth":6,"bounds":{"left":0.8394282,"top":0.019952115,"width":0.076130316,"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 'HandleHubspotRateLimitTest'","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 'HandleHubspotRateLimitTest'","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":"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":"3","depth":4,"bounds":{"left":0.5515292,"top":0.15003991,"width":0.007978723,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"68","depth":4,"bounds":{"left":0.56150264,"top":0.15003991,"width":0.010305851,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":4,"bounds":{"left":0.5738032,"top":0.15003991,"width":0.007978723,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.5834442,"top":0.14844373,"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.59075797,"top":0.14844373,"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":"<?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\\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 Illuminate\\Support\\Facades\\Redis;\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\n public function __construct(\n SocialAccountService $socialAccountService,\n HubspotPaginationService $paginationService,\n HubspotTokenManager $tokenManager\n ) {\n parent::__construct($socialAccountService);\n $this->paginationService = $paginationService;\n $this->tokenManager = $tokenManager;\n\n $this->setBaseUrl(self::BASE_URL);\n $this->setVersion(self::MIN_API_VERSION);\n }\n\n /**\n * Reacts to a rate limits (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 $cacheKey = $this->getRateLimitCacheKey();\n\n $cachedRetryAfter = Redis::get($cacheKey);\n if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {\n throw new RateLimitException(\n 'Hubspot rate limit (cached circuit-breaker)',\n (int) $cachedRetryAfter,\n );\n }\n\n try {\n return $apiCall();\n } catch (Throwable $e) {\n if ($this->isHubspotRateLimit($e)) {\n $retryAfter = $this->parseRetryAfter($e);\n\n Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);\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 'policy' => $this->parsePolicy($e),\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 getRateLimitCacheKey(): string\n {\n return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());\n }\n\n public function isHubspotRateLimit(Throwable $e): bool\n {\n if ($e instanceof BadRequest\n || $e instanceof DealApiException\n || $e instanceof ContactApiException\n || $e instanceof CompanyApiException\n || $e instanceof \\GuzzleHttp\\Exception\\RequestException\n ) {\n return (int) $e->getCode() === 429;\n }\n\n return false;\n }\n\n public function parseRetryAfter(Throwable $e): int\n {\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$e ' . PHP_EOL . print_r($e, true));\n return 5;\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 $policy = $this->parsePolicy($e);\n if ($policy === 'TEN_SECONDLY_ROLLING') {\n return 10;\n }\n if ($policy === 'SECONDLY') {\n return 1;\n }\n if ($policy === 'DAILY_LIMIT') {\n return 600;\n }\n\n $this->log->warning('[Hubspot] No retry-after header or policy name found, using default', [\n 'exception_class' => get_class($e),\n ]);\n\n return 10;\n }\n\n public function parsePolicy(Throwable $e): ?string\n {\n if (! method_exists($e, 'getResponseBody')) {\n return null;\n }\n\n $body = $e->getResponseBody();\n if (is_string($body)) {\n $body = json_decode($body, true) ?? [];\n }\n\n if (! is_array($body)) {\n return null;\n }\n\n $policy = $body['policyName'] ?? $body['policy'] ?? $body['context']['policyName'] ?? null;\n\n return is_string($policy) ? strtoupper($policy) : null;\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 * Execute a search request against HubSpot CRM objects with rate limiting.\n *\n * @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')\n * @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.\n * @return array The search response with 'results', 'total', 'paging' keys\n * @throws RateLimitException When rate limit is hit\n * @throws HubspotException On API errors\n */\n public function search(string $objectType, array $payload): array\n {\n $endpoint = self::BASE_URL . \"/crm/v3/objects/{$objectType}/search\";\n\n return $this->executeRequest(function () use ($endpoint, $payload) {\n $response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$response ' . PHP_EOL . print_r($response, true));\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$response ' . PHP_EOL . print_r($response->getResponseHeaders(), true));\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$response ' . PHP_EOL . print_r($response->getResponseHeaders(), true));\n\n return $response->toArray();\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 $deal = $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 return $this->getInstance()->getClient()?->request(\n method: $method,\n endpoint: $endpoint,\n query_string: $queryString\n );\n } else {\n return $this->getInstance()->getClient()->request($method, $endpoint, [\n 'json' => ($payload),\n ]);\n }\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 (RateLimitException $e) {\n// throw $e;\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\\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 Illuminate\\Support\\Facades\\Redis;\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\n public function __construct(\n SocialAccountService $socialAccountService,\n HubspotPaginationService $paginationService,\n HubspotTokenManager $tokenManager\n ) {\n parent::__construct($socialAccountService);\n $this->paginationService = $paginationService;\n $this->tokenManager = $tokenManager;\n\n $this->setBaseUrl(self::BASE_URL);\n $this->setVersion(self::MIN_API_VERSION);\n }\n\n /**\n * Reacts to a rate limits (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 $cacheKey = $this->getRateLimitCacheKey();\n\n $cachedRetryAfter = Redis::get($cacheKey);\n if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {\n throw new RateLimitException(\n 'Hubspot rate limit (cached circuit-breaker)',\n (int) $cachedRetryAfter,\n );\n }\n\n try {\n return $apiCall();\n } catch (Throwable $e) {\n if ($this->isHubspotRateLimit($e)) {\n $retryAfter = $this->parseRetryAfter($e);\n\n Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);\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 'policy' => $this->parsePolicy($e),\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 getRateLimitCacheKey(): string\n {\n return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());\n }\n\n public function isHubspotRateLimit(Throwable $e): bool\n {\n if ($e instanceof BadRequest\n || $e instanceof DealApiException\n || $e instanceof ContactApiException\n || $e instanceof CompanyApiException\n || $e instanceof \\GuzzleHttp\\Exception\\RequestException\n ) {\n return (int) $e->getCode() === 429;\n }\n\n return false;\n }\n\n public function parseRetryAfter(Throwable $e): int\n {\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$e ' . PHP_EOL . print_r($e, true));\n return 5;\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 $policy = $this->parsePolicy($e);\n if ($policy === 'TEN_SECONDLY_ROLLING') {\n return 10;\n }\n if ($policy === 'SECONDLY') {\n return 1;\n }\n if ($policy === 'DAILY_LIMIT') {\n return 600;\n }\n\n $this->log->warning('[Hubspot] No retry-after header or policy name found, using default', [\n 'exception_class' => get_class($e),\n ]);\n\n return 10;\n }\n\n public function parsePolicy(Throwable $e): ?string\n {\n if (! method_exists($e, 'getResponseBody')) {\n return null;\n }\n\n $body = $e->getResponseBody();\n if (is_string($body)) {\n $body = json_decode($body, true) ?? [];\n }\n\n if (! is_array($body)) {\n return null;\n }\n\n $policy = $body['policyName'] ?? $body['policy'] ?? $body['context']['policyName'] ?? null;\n\n return is_string($policy) ? strtoupper($policy) : null;\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 * Execute a search request against HubSpot CRM objects with rate limiting.\n *\n * @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')\n * @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.\n * @return array The search response with 'results', 'total', 'paging' keys\n * @throws RateLimitException When rate limit is hit\n * @throws HubspotException On API errors\n */\n public function search(string $objectType, array $payload): array\n {\n $endpoint = self::BASE_URL . \"/crm/v3/objects/{$objectType}/search\";\n\n return $this->executeRequest(function () use ($endpoint, $payload) {\n $response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$response ' . PHP_EOL . print_r($response, true));\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$response ' . PHP_EOL . print_r($response->getResponseHeaders(), true));\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$response ' . PHP_EOL . print_r($response->getResponseHeaders(), true));\n\n return $response->toArray();\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 $deal = $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 return $this->getInstance()->getClient()?->request(\n method: $method,\n endpoint: $endpoint,\n query_string: $queryString\n );\n } else {\n return $this->getInstance()->getClient()->request($method, $endpoint, [\n 'json' => ($payload),\n ]);\n }\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 (RateLimitException $e) {\n// throw $e;\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":"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":"19","depth":4,"bounds":{"left":0.96276593,"top":0.07581804,"width":0.009640957,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.9740692,"top":0.074221864,"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.98138297,"top":0.074221864,"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":"[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {\n\"headers\":{\n\"Date\":[\"Thu,07 May 2026 14:21:15 GMT\"],\n \"Content-Type\":[\"application/json;charset=utf-8\"],\n \"Transfer-Encoding\":[\"chunked\"],\n \"Connection\":[\"keep-alive\"],\n \"CF-Ray\":[\"9f80deb8db60dc3a-SOF\"],\n \"CF-Cache-Status\":[\"DYNAMIC\"],\n \"Strict-Transport-Security\":[\"max-age=31536000; includeSubDomains; preload\"],\n \"Vary\":[\"origin,\n accept-encoding\"],\n \"access-control-allow-credentials\":[\"false\"],\n \"server-timing\":[\"hcid;desc=\\\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\\\",\n cfr;desc=\\\"9f80deb8e7c6dc3a-IAD\\\"\"],\n \"x-content-type-options\":[\"nosniff\"],\n \"x-hubspot-correlation-id\":[\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\"],\n \"Set-Cookie\":[\"__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-1.0.1.1-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,\n 07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None\"],\n \"Report-To\":[\"{\n\\\"endpoints\\\":[{\n\\\"url\\\":\\\"https:\\\\/\\\\/a.nel.cloudflare.com\\\\/report\\\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\\\"}],\n\\\"group\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"NEL\":[\"{\n\\\"success_fraction\\\":0.01,\n\\\"report_to\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"Server\":[\"cloudflare\"]}} {\n\"correlation_id\":\"95236535-ec98-4541-b92a-adfa73b69eab\",\n\"trace_id\":\"c7ab8365-903f-46d4-9403-0e5b551e3545\"}","depth":4,"bounds":{"left":0.61702126,"top":0.0726257,"width":0.38297874,"height":0.9066241},"on_screen":true,"lines":[{"char_start":273,"char_count":32,"bounds":{"left":0.61702126,"top":0.0,"width":0.080119684,"height":0.014365523}},{"char_start":305,"char_count":79,"bounds":{"left":0.61702126,"top":0.0,"width":0.20212767,"height":0.014365523}},{"char_start":384,"char_count":18,"bounds":{"left":0.61702126,"top":0.0,"width":0.043882977,"height":0.014365523}},{"char_start":402,"char_count":21,"bounds":{"left":0.61702126,"top":0.0,"width":0.051861703,"height":0.014365523}},{"char_start":423,"char_count":48,"bounds":{"left":0.61702126,"top":0.0,"width":0.12167553,"height":0.014365523}},{"char_start":471,"char_count":72,"bounds":{"left":0.61702126,"top":0.0015961692,"width":0.18384309,"height":0.014365523}},{"char_start":543,"char_count":40,"bounds":{"left":0.61702126,"top":0.01915403,"width":0.10106383,"height":0.014365523}},{"char_start":583,"char_count":41,"bounds":{"left":0.61702126,"top":0.03671189,"width":0.10372341,"height":0.014365523}},{"char_start":624,"char_count":72,"bounds":{"left":0.61702126,"top":0.054269753,"width":0.18384309,"height":0.014365523}},{"char_start":696,"char_count":219,"bounds":{"left":0.61702126,"top":0.07182761,"width":0.38297874,"height":0.014365523}},{"char_start":915,"char_count":83,"bounds":{"left":0.61702126,"top":0.08938547,"width":0.21243352,"height":0.014365523}},{"char_start":998,"char_count":20,"bounds":{"left":0.61702126,"top":0.10694334,"width":0.04920213,"height":0.014365523}},{"char_start":1018,"char_count":17,"bounds":{"left":0.61702126,"top":0.1245012,"width":0.041223403,"height":0.014365523}},{"char_start":1035,"char_count":203,"bounds":{"left":0.61702126,"top":0.14205906,"width":0.38297874,"height":0.014365523}},{"char_start":1238,"char_count":22,"bounds":{"left":0.61702126,"top":0.15961692,"width":0.05418883,"height":0.014365523}},{"char_start":1260,"char_count":23,"bounds":{"left":0.61702126,"top":0.17717478,"width":0.056848403,"height":0.014365523}},{"char_start":1283,"char_count":10,"bounds":{"left":0.61702126,"top":0.19473264,"width":0.023271276,"height":0.014365523}},{"char_start":1293,"char_count":27,"bounds":{"left":0.61702126,"top":0.2122905,"width":0.06715426,"height":0.014365523}},{"char_start":1320,"char_count":26,"bounds":{"left":0.61702126,"top":0.22984837,"width":0.06482713,"height":0.014365523}},{"char_start":1346,"char_count":23,"bounds":{"left":0.61702126,"top":0.24740623,"width":0.056848403,"height":0.014365523}},{"char_start":1369,"char_count":28,"bounds":{"left":0.61702126,"top":0.26496407,"width":0.06981383,"height":0.014365523}},{"char_start":1397,"char_count":57,"bounds":{"left":0.61702126,"top":0.28252193,"width":0.14494681,"height":0.014365523}}],"value":"[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {\n\"headers\":{\n\"Date\":[\"Thu,07 May 2026 14:21:15 GMT\"],\n \"Content-Type\":[\"application/json;charset=utf-8\"],\n \"Transfer-Encoding\":[\"chunked\"],\n \"Connection\":[\"keep-alive\"],\n \"CF-Ray\":[\"9f80deb8db60dc3a-SOF\"],\n \"CF-Cache-Status\":[\"DYNAMIC\"],\n \"Strict-Transport-Security\":[\"max-age=31536000; includeSubDomains; preload\"],\n \"Vary\":[\"origin,\n accept-encoding\"],\n \"access-control-allow-credentials\":[\"false\"],\n \"server-timing\":[\"hcid;desc=\\\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\\\",\n cfr;desc=\\\"9f80deb8e7c6dc3a-IAD\\\"\"],\n \"x-content-type-options\":[\"nosniff\"],\n \"x-hubspot-correlation-id\":[\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\"],\n \"Set-Cookie\":[\"__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-1.0.1.1-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,\n 07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None\"],\n \"Report-To\":[\"{\n\\\"endpoints\\\":[{\n\\\"url\\\":\\\"https:\\\\/\\\\/a.nel.cloudflare.com\\\\/report\\\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\\\"}],\n\\\"group\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"NEL\":[\"{\n\\\"success_fraction\\\":0.01,\n\\\"report_to\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"Server\":[\"cloudflare\"]}} {\n\"correlation_id\":\"95236535-ec98-4541-b92a-adfa73b69eab\",\n\"trace_id\":\"c7ab8365-903f-46d4-9403-0e5b551e3545\"}","role_description":"text entry area","is_enabled":true,"is_focused":false,"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}]...
|
1947971519123448970
|
6378618611371477348
|
click
|
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
3
68
3
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Services\Crm\Hubspot;
use HubSpot\Client\Crm\Deals\ApiException as DealApiException;
use HubSpot\Client\Crm\Contacts\ApiException as ContactApiException;
use HubSpot\Client\Crm\Companies\ApiException as CompanyApiException;
use HubSpot\Client\Crm\Contacts\Model\SimplePublicObjectWithAssociations as ContactsWithAssociations;
use HubSpot\Client\Crm\Companies\Model\SimplePublicObjectWithAssociations as CompaniesWithAssociations;
use HubSpot\Client\Crm\Deals\Model\SimplePublicObjectWithAssociations as DealWithAssociations;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectInput;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectWithAssociations as ObjectWithAssociations;
use HubSpot\Client\Crm\Pipelines\Model\Error;
use HubSpot\Client\Crm\Pipelines\Model\PipelineStage;
use HubSpot\Client\Crm\Properties\Model\Property;
use HubSpot\Discovery\Discovery;
use Jiminny\Exceptions\CrmException;
use Jiminny\Exceptions\RateLimitException;
use Jiminny\Exceptions\SocialAccountTokenInvalidException;
use Jiminny\Jobs\Crm\NoteObject;
use Jiminny\Models\Crm\Field;
use Jiminny\Services\Crm\BaseClient;
use Jiminny\Services\Crm\Hubspot\DTO\Response\Owner;
use Jiminny\Services\SocialAccountService;
use SevenShores\Hubspot\Exceptions\BadRequest;
use SevenShores\Hubspot\Exceptions\HubspotException;
use SevenShores\Hubspot\Factory;
use SevenShores\Hubspot\Http\Response;
use Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService;
use Illuminate\Support\Facades\Redis;
use Throwable;
/**
* @phpstan-type 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)
{
$cacheKey = $this->getRateLimitCacheKey();
$cachedRetryAfter = Redis::get($cacheKey);
if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {
throw new RateLimitException(
'Hubspot rate limit (cached circuit-breaker)',
(int) $cachedRetryAfter,
);
}
try {
return $apiCall();
} catch (Throwable $e) {
if ($this->isHubspotRateLimit($e)) {
$retryAfter = $this->parseRetryAfter($e);
Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);
$this->log->warning('[Hubspot] Received 429 from API', [
'team_id' => $this->config->team_id,
'config_id' => $this->config->getId(),
'retry_after' => $retryAfter,
'policy' => $this->parsePolicy($e),
'reason' => $e->getMessage(),
]);
throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);
}
throw $e;
}
}
private function getRateLimitCacheKey(): string
{
return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());
}
public function isHubspotRateLimit(Throwable $e): bool
{
if ($e instanceof BadRequest
|| $e instanceof DealApiException
|| $e instanceof ContactApiException
|| $e instanceof CompanyApiException
|| $e instanceof \GuzzleHttp\Exception\RequestException
) {
return (int) $e->getCode() === 429;
}
return false;
}
public function parseRetryAfter(Throwable $e): int
{
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$e ' . PHP_EOL . print_r($e, true));
return 5;
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;
}
}
$policy = $this->parsePolicy($e);
if ($policy === 'TEN_SECONDLY_ROLLING') {
return 10;
}
if ($policy === 'SECONDLY') {
return 1;
}
if ($policy === 'DAILY_LIMIT') {
return 600;
}
$this->log->warning('[Hubspot] No retry-after header or policy name found, using default', [
'exception_class' => get_class($e),
]);
return 10;
}
public function parsePolicy(Throwable $e): ?string
{
if (! method_exists($e, 'getResponseBody')) {
return null;
}
$body = $e->getResponseBody();
if (is_string($body)) {
$body = json_decode($body, true) ?? [];
}
if (! is_array($body)) {
return null;
}
$policy = $body['policyName'] ?? $body['policy'] ?? $body['context']['policyName'] ?? null;
return is_string($policy) ? strtoupper($policy) : null;
}
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
);
}
/**
* Execute a search request against HubSpot CRM objects with rate limiting.
*
* @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')
* @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.
* @return array The search response with 'results', 'total', 'paging' keys
* @throws RateLimitException When rate limit is hit
* @throws HubspotException On API errors
*/
public function search(string $objectType, array $payload): array
{
$endpoint = self::BASE_URL . "/crm/v3/objects/{$objectType}/search";
return $this->executeRequest(function () use ($endpoint, $payload) {
$response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$response ' . PHP_EOL . print_r($response, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$response ' . PHP_EOL . print_r($response->getResponseHeaders(), true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$response ' . PHP_EOL . print_r($response->getResponseHeaders(), true));
return $response->toArray();
});
}
/**
* @throws DealApiException
* @throws CrmException
*/
public function getOpportunityById(string $crmId, array $fields): array
{
try {
// $deal = $this->executeRequest(fn () => $this->getNewInstance()->crm()->deals()->basicApi()->getById(
$deal = $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') {
return $this->getInstance()->getClient()?->request(
method: $method,
endpoint: $endpoint,
query_string: $queryString
);
} else {
return $this->getInstance()->getClient()->request($method, $endpoint, [
'json' => ($payload),
]);
}
}
/**
* @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 (RateLimitException $e) {
// throw $e;
} 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);
}
}
Sync Changes
Hide This Notification
Code changed:
Hide
19
Previous Highlighted Error
Next Highlighted Error
[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {
"headers":{
"Date":["Thu,07 May 2026 14:21:15 GMT"],
"Content-Type":["application/json;charset=utf-8"],
"Transfer-Encoding":["chunked"],
"Connection":["keep-alive"],
"CF-Ray":["9f80deb8db60dc3a-SOF"],
"CF-Cache-Status":["DYNAMIC"],
"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],
"Vary":["origin,
accept-encoding"],
"access-control-allow-credentials":["false"],
"server-timing":["hcid;desc=\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\",
cfr;desc=\"9f80deb8e7c6dc3a-IAD\""],
"x-content-type-options":["nosniff"],
"x-hubspot-correlation-id":["019e02d0-6fd8-7812-bdba-885b7ccb3ee3"],
"Set-Cookie":["__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-[IP_ADDRESS]-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,
07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None"],
"Report-To":["{
\"endpoints\":[{
\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\"}],
\"group\":\"cf-nel\",
\"max_age\":604800}"],
"NEL":["{
\"success_fraction\":0.01,
\"report_to\":\"cf-nel\",
\"max_age\":604800}"],
"Server":["cloudflare"]}} {
"correlation_id":"95236535-ec98-4541-b92a-adfa73b69eab",
"trace_id":"c7ab8365-903f-46d4-9403-0e5b551e3545"}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
17948
|
NULL
|
0
|
2026-05-11T10:42:39.462879+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778496159462_m1.jpg...
|
PhpStorm
|
faVsco.js – Client.php
|
1
|
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
3
68
3
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Services\Crm\Hubspot;
use HubSpot\Client\Crm\Deals\ApiException as DealApiException;
use HubSpot\Client\Crm\Contacts\ApiException as ContactApiException;
use HubSpot\Client\Crm\Companies\ApiException as CompanyApiException;
use HubSpot\Client\Crm\Contacts\Model\SimplePublicObjectWithAssociations as ContactsWithAssociations;
use HubSpot\Client\Crm\Companies\Model\SimplePublicObjectWithAssociations as CompaniesWithAssociations;
use HubSpot\Client\Crm\Deals\Model\SimplePublicObjectWithAssociations as DealWithAssociations;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectInput;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectWithAssociations as ObjectWithAssociations;
use HubSpot\Client\Crm\Pipelines\Model\Error;
use HubSpot\Client\Crm\Pipelines\Model\PipelineStage;
use HubSpot\Client\Crm\Properties\Model\Property;
use HubSpot\Discovery\Discovery;
use Jiminny\Exceptions\CrmException;
use Jiminny\Exceptions\RateLimitException;
use Jiminny\Exceptions\SocialAccountTokenInvalidException;
use Jiminny\Jobs\Crm\NoteObject;
use Jiminny\Models\Crm\Field;
use Jiminny\Services\Crm\BaseClient;
use Jiminny\Services\Crm\Hubspot\DTO\Response\Owner;
use Jiminny\Services\SocialAccountService;
use SevenShores\Hubspot\Exceptions\BadRequest;
use SevenShores\Hubspot\Exceptions\HubspotException;
use SevenShores\Hubspot\Factory;
use SevenShores\Hubspot\Http\Response;
use Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService;
use Illuminate\Support\Facades\Redis;
use Throwable;
/**
* @phpstan-type 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)
{
$cacheKey = $this->getRateLimitCacheKey();
$cachedRetryAfter = Redis::get($cacheKey);
if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {
throw new RateLimitException(
'Hubspot rate limit (cached circuit-breaker)',
(int) $cachedRetryAfter,
);
}
try {
return $apiCall();
} catch (Throwable $e) {
if ($this->isHubspotRateLimit($e)) {
$retryAfter = $this->parseRetryAfter($e);
Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);
$this->log->warning('[Hubspot] Received 429 from API', [
'team_id' => $this->config->team_id,
'config_id' => $this->config->getId(),
'retry_after' => $retryAfter,
'policy' => $this->parsePolicy($e),
'reason' => $e->getMessage(),
]);
throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);
}
throw $e;
}
}
private function getRateLimitCacheKey(): string
{
return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());
}
public function isHubspotRateLimit(Throwable $e): bool
{
if ($e instanceof BadRequest
|| $e instanceof DealApiException
|| $e instanceof ContactApiException
|| $e instanceof CompanyApiException
|| $e instanceof \GuzzleHttp\Exception\RequestException
) {
return (int) $e->getCode() === 429;
}
return false;
}
public function parseRetryAfter(Throwable $e): int
{
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$e ' . PHP_EOL . print_r($e, true));
return 5;
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;
}
}
$policy = $this->parsePolicy($e);
if ($policy === 'TEN_SECONDLY_ROLLING') {
return 10;
}
if ($policy === 'SECONDLY') {
return 1;
}
if ($policy === 'DAILY_LIMIT') {
return 600;
}
$this->log->warning('[Hubspot] No retry-after header or policy name found, using default', [
'exception_class' => get_class($e),
]);
return 10;
}
public function parsePolicy(Throwable $e): ?string
{
if (! method_exists($e, 'getResponseBody')) {
return null;
}
$body = $e->getResponseBody();
if (is_string($body)) {
$body = json_decode($body, true) ?? [];
}
if (! is_array($body)) {
return null;
}
$policy = $body['policyName'] ?? $body['policy'] ?? $body['context']['policyName'] ?? null;
return is_string($policy) ? strtoupper($policy) : null;
}
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
);
}
/**
* Execute a search request against HubSpot CRM objects with rate limiting.
*
* @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')
* @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.
* @return array The search response with 'results', 'total', 'paging' keys
* @throws RateLimitException When rate limit is hit
* @throws HubspotException On API errors
*/
public function search(string $objectType, array $payload): array
{
$endpoint = self::BASE_URL . "/crm/v3/objects/{$objectType}/search";
return $this->executeRequest(function () use ($endpoint, $payload) {
$response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$response ' . PHP_EOL . print_r($response, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$response ' . PHP_EOL . print_r($response->getResponseHeaders(), true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$response ' . PHP_EOL . print_r($response->getResponseHeaders(), true));
return $response->toArray();
});
}
/**
* @throws DealApiException
* @throws CrmException
*/
public function getOpportunityById(string $crmId, array $fields): array
{
try {
// $deal = $this->executeRequest(fn () => $this->getNewInstance()->crm()->deals()->basicApi()->getById(
$deal = $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') {
return $this->getInstance()->getClient()?->request(
method: $method,
endpoint: $endpoint,
query_string: $queryString
);
} else {
return $this->getInstance()->getClient()->request($method, $endpoint, [
'json' => ($payload),
]);
}
}
/**
* @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 (RateLimitException $e) {
// throw $e;
} 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);
}
}
Sync Changes
Hide This Notification
Code changed:
Hide
19
Previous Highlighted Error
Next Highlighted Error
[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {
"headers":{
"Date":["Thu,07 May 2026 14:21:15 GMT"],
"Content-Type":["application/json;charset=utf-8"],
"Transfer-Encoding":["chunked"],
"Connection":["keep-alive"],
"CF-Ray":["9f80deb8db60dc3a-SOF"],
"CF-Cache-Status":["DYNAMIC"],
"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],
"Vary":["origin,
accept-encoding"],
"access-control-allow-credentials":["false"],
"server-timing":["hcid;desc=\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\",
cfr;desc=\"9f80deb8e7c6dc3a-IAD\""],
"x-content-type-options":["nosniff"],
"x-hubspot-correlation-id":["019e02d0-6fd8-7812-bdba-885b7ccb3ee3"],
"Set-Cookie":["__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-[IP_ADDRESS]-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,
07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None"],
"Report-To":["{
\"endpoints\":[{
\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\"}],
\"group\":\"cf-nel\",
\"max_age\":604800}"],
"NEL":["{
\"success_fraction\":0.01,
\"report_to\":\"cf-nel\",
\"max_age\":604800}"],
"Server":["cloudflare"]}} {
"correlation_id":"95236535-ec98-4541-b92a-adfa73b69eab",
"trace_id":"c7ab8365-903f-46d4-9403-0e5b551e3545"}
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":"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":"3","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"68","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","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\\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\\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 Illuminate\\Support\\Facades\\Redis;\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\n public function __construct(\n SocialAccountService $socialAccountService,\n HubspotPaginationService $paginationService,\n HubspotTokenManager $tokenManager\n ) {\n parent::__construct($socialAccountService);\n $this->paginationService = $paginationService;\n $this->tokenManager = $tokenManager;\n\n $this->setBaseUrl(self::BASE_URL);\n $this->setVersion(self::MIN_API_VERSION);\n }\n\n /**\n * Reacts to a rate limits (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 $cacheKey = $this->getRateLimitCacheKey();\n\n $cachedRetryAfter = Redis::get($cacheKey);\n if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {\n throw new RateLimitException(\n 'Hubspot rate limit (cached circuit-breaker)',\n (int) $cachedRetryAfter,\n );\n }\n\n try {\n return $apiCall();\n } catch (Throwable $e) {\n if ($this->isHubspotRateLimit($e)) {\n $retryAfter = $this->parseRetryAfter($e);\n\n Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);\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 'policy' => $this->parsePolicy($e),\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 getRateLimitCacheKey(): string\n {\n return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());\n }\n\n public function isHubspotRateLimit(Throwable $e): bool\n {\n if ($e instanceof BadRequest\n || $e instanceof DealApiException\n || $e instanceof ContactApiException\n || $e instanceof CompanyApiException\n || $e instanceof \\GuzzleHttp\\Exception\\RequestException\n ) {\n return (int) $e->getCode() === 429;\n }\n\n return false;\n }\n\n public function parseRetryAfter(Throwable $e): int\n {\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$e ' . PHP_EOL . print_r($e, true));\n return 5;\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 $policy = $this->parsePolicy($e);\n if ($policy === 'TEN_SECONDLY_ROLLING') {\n return 10;\n }\n if ($policy === 'SECONDLY') {\n return 1;\n }\n if ($policy === 'DAILY_LIMIT') {\n return 600;\n }\n\n $this->log->warning('[Hubspot] No retry-after header or policy name found, using default', [\n 'exception_class' => get_class($e),\n ]);\n\n return 10;\n }\n\n public function parsePolicy(Throwable $e): ?string\n {\n if (! method_exists($e, 'getResponseBody')) {\n return null;\n }\n\n $body = $e->getResponseBody();\n if (is_string($body)) {\n $body = json_decode($body, true) ?? [];\n }\n\n if (! is_array($body)) {\n return null;\n }\n\n $policy = $body['policyName'] ?? $body['policy'] ?? $body['context']['policyName'] ?? null;\n\n return is_string($policy) ? strtoupper($policy) : null;\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 * Execute a search request against HubSpot CRM objects with rate limiting.\n *\n * @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')\n * @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.\n * @return array The search response with 'results', 'total', 'paging' keys\n * @throws RateLimitException When rate limit is hit\n * @throws HubspotException On API errors\n */\n public function search(string $objectType, array $payload): array\n {\n $endpoint = self::BASE_URL . \"/crm/v3/objects/{$objectType}/search\";\n\n return $this->executeRequest(function () use ($endpoint, $payload) {\n $response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$response ' . PHP_EOL . print_r($response, true));\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$response ' . PHP_EOL . print_r($response->getResponseHeaders(), true));\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$response ' . PHP_EOL . print_r($response->getResponseHeaders(), true));\n\n return $response->toArray();\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 $deal = $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 return $this->getInstance()->getClient()?->request(\n method: $method,\n endpoint: $endpoint,\n query_string: $queryString\n );\n } else {\n return $this->getInstance()->getClient()->request($method, $endpoint, [\n 'json' => ($payload),\n ]);\n }\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 (RateLimitException $e) {\n// throw $e;\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\\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 Illuminate\\Support\\Facades\\Redis;\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\n public function __construct(\n SocialAccountService $socialAccountService,\n HubspotPaginationService $paginationService,\n HubspotTokenManager $tokenManager\n ) {\n parent::__construct($socialAccountService);\n $this->paginationService = $paginationService;\n $this->tokenManager = $tokenManager;\n\n $this->setBaseUrl(self::BASE_URL);\n $this->setVersion(self::MIN_API_VERSION);\n }\n\n /**\n * Reacts to a rate limits (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 $cacheKey = $this->getRateLimitCacheKey();\n\n $cachedRetryAfter = Redis::get($cacheKey);\n if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {\n throw new RateLimitException(\n 'Hubspot rate limit (cached circuit-breaker)',\n (int) $cachedRetryAfter,\n );\n }\n\n try {\n return $apiCall();\n } catch (Throwable $e) {\n if ($this->isHubspotRateLimit($e)) {\n $retryAfter = $this->parseRetryAfter($e);\n\n Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);\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 'policy' => $this->parsePolicy($e),\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 getRateLimitCacheKey(): string\n {\n return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());\n }\n\n public function isHubspotRateLimit(Throwable $e): bool\n {\n if ($e instanceof BadRequest\n || $e instanceof DealApiException\n || $e instanceof ContactApiException\n || $e instanceof CompanyApiException\n || $e instanceof \\GuzzleHttp\\Exception\\RequestException\n ) {\n return (int) $e->getCode() === 429;\n }\n\n return false;\n }\n\n public function parseRetryAfter(Throwable $e): int\n {\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$e ' . PHP_EOL . print_r($e, true));\n return 5;\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 $policy = $this->parsePolicy($e);\n if ($policy === 'TEN_SECONDLY_ROLLING') {\n return 10;\n }\n if ($policy === 'SECONDLY') {\n return 1;\n }\n if ($policy === 'DAILY_LIMIT') {\n return 600;\n }\n\n $this->log->warning('[Hubspot] No retry-after header or policy name found, using default', [\n 'exception_class' => get_class($e),\n ]);\n\n return 10;\n }\n\n public function parsePolicy(Throwable $e): ?string\n {\n if (! method_exists($e, 'getResponseBody')) {\n return null;\n }\n\n $body = $e->getResponseBody();\n if (is_string($body)) {\n $body = json_decode($body, true) ?? [];\n }\n\n if (! is_array($body)) {\n return null;\n }\n\n $policy = $body['policyName'] ?? $body['policy'] ?? $body['context']['policyName'] ?? null;\n\n return is_string($policy) ? strtoupper($policy) : null;\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 * Execute a search request against HubSpot CRM objects with rate limiting.\n *\n * @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')\n * @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.\n * @return array The search response with 'results', 'total', 'paging' keys\n * @throws RateLimitException When rate limit is hit\n * @throws HubspotException On API errors\n */\n public function search(string $objectType, array $payload): array\n {\n $endpoint = self::BASE_URL . \"/crm/v3/objects/{$objectType}/search\";\n\n return $this->executeRequest(function () use ($endpoint, $payload) {\n $response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$response ' . PHP_EOL . print_r($response, true));\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$response ' . PHP_EOL . print_r($response->getResponseHeaders(), true));\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$response ' . PHP_EOL . print_r($response->getResponseHeaders(), true));\n\n return $response->toArray();\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 $deal = $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 return $this->getInstance()->getClient()?->request(\n method: $method,\n endpoint: $endpoint,\n query_string: $queryString\n );\n } else {\n return $this->getInstance()->getClient()->request($method, $endpoint, [\n 'json' => ($payload),\n ]);\n }\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 (RateLimitException $e) {\n// throw $e;\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":"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":"19","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-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {\n\"headers\":{\n\"Date\":[\"Thu,07 May 2026 14:21:15 GMT\"],\n \"Content-Type\":[\"application/json;charset=utf-8\"],\n \"Transfer-Encoding\":[\"chunked\"],\n \"Connection\":[\"keep-alive\"],\n \"CF-Ray\":[\"9f80deb8db60dc3a-SOF\"],\n \"CF-Cache-Status\":[\"DYNAMIC\"],\n \"Strict-Transport-Security\":[\"max-age=31536000; includeSubDomains; preload\"],\n \"Vary\":[\"origin,\n accept-encoding\"],\n \"access-control-allow-credentials\":[\"false\"],\n \"server-timing\":[\"hcid;desc=\\\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\\\",\n cfr;desc=\\\"9f80deb8e7c6dc3a-IAD\\\"\"],\n \"x-content-type-options\":[\"nosniff\"],\n \"x-hubspot-correlation-id\":[\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\"],\n \"Set-Cookie\":[\"__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-1.0.1.1-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,\n 07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None\"],\n \"Report-To\":[\"{\n\\\"endpoints\\\":[{\n\\\"url\\\":\\\"https:\\\\/\\\\/a.nel.cloudflare.com\\\\/report\\\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\\\"}],\n\\\"group\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"NEL\":[\"{\n\\\"success_fraction\\\":0.01,\n\\\"report_to\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"Server\":[\"cloudflare\"]}} {\n\"correlation_id\":\"95236535-ec98-4541-b92a-adfa73b69eab\",\n\"trace_id\":\"c7ab8365-903f-46d4-9403-0e5b551e3545\"}","depth":4,"on_screen":true,"value":"[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {\n\"headers\":{\n\"Date\":[\"Thu,07 May 2026 14:21:15 GMT\"],\n \"Content-Type\":[\"application/json;charset=utf-8\"],\n \"Transfer-Encoding\":[\"chunked\"],\n \"Connection\":[\"keep-alive\"],\n \"CF-Ray\":[\"9f80deb8db60dc3a-SOF\"],\n \"CF-Cache-Status\":[\"DYNAMIC\"],\n \"Strict-Transport-Security\":[\"max-age=31536000; includeSubDomains; preload\"],\n \"Vary\":[\"origin,\n accept-encoding\"],\n \"access-control-allow-credentials\":[\"false\"],\n \"server-timing\":[\"hcid;desc=\\\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\\\",\n cfr;desc=\\\"9f80deb8e7c6dc3a-IAD\\\"\"],\n \"x-content-type-options\":[\"nosniff\"],\n \"x-hubspot-correlation-id\":[\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\"],\n \"Set-Cookie\":[\"__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-1.0.1.1-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,\n 07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None\"],\n \"Report-To\":[\"{\n\\\"endpoints\\\":[{\n\\\"url\\\":\\\"https:\\\\/\\\\/a.nel.cloudflare.com\\\\/report\\\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\\\"}],\n\\\"group\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"NEL\":[\"{\n\\\"success_fraction\\\":0.01,\n\\\"report_to\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"Server\":[\"cloudflare\"]}} {\n\"correlation_id\":\"95236535-ec98-4541-b92a-adfa73b69eab\",\n\"trace_id\":\"c7ab8365-903f-46d4-9403-0e5b551e3545\"}","role_description":"text entry area","is_enabled":true,"is_focused":false,"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}]...
|
1947971519123448970
|
6378618611371477348
|
click
|
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
3
68
3
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Services\Crm\Hubspot;
use HubSpot\Client\Crm\Deals\ApiException as DealApiException;
use HubSpot\Client\Crm\Contacts\ApiException as ContactApiException;
use HubSpot\Client\Crm\Companies\ApiException as CompanyApiException;
use HubSpot\Client\Crm\Contacts\Model\SimplePublicObjectWithAssociations as ContactsWithAssociations;
use HubSpot\Client\Crm\Companies\Model\SimplePublicObjectWithAssociations as CompaniesWithAssociations;
use HubSpot\Client\Crm\Deals\Model\SimplePublicObjectWithAssociations as DealWithAssociations;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectInput;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectWithAssociations as ObjectWithAssociations;
use HubSpot\Client\Crm\Pipelines\Model\Error;
use HubSpot\Client\Crm\Pipelines\Model\PipelineStage;
use HubSpot\Client\Crm\Properties\Model\Property;
use HubSpot\Discovery\Discovery;
use Jiminny\Exceptions\CrmException;
use Jiminny\Exceptions\RateLimitException;
use Jiminny\Exceptions\SocialAccountTokenInvalidException;
use Jiminny\Jobs\Crm\NoteObject;
use Jiminny\Models\Crm\Field;
use Jiminny\Services\Crm\BaseClient;
use Jiminny\Services\Crm\Hubspot\DTO\Response\Owner;
use Jiminny\Services\SocialAccountService;
use SevenShores\Hubspot\Exceptions\BadRequest;
use SevenShores\Hubspot\Exceptions\HubspotException;
use SevenShores\Hubspot\Factory;
use SevenShores\Hubspot\Http\Response;
use Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService;
use Illuminate\Support\Facades\Redis;
use Throwable;
/**
* @phpstan-type 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)
{
$cacheKey = $this->getRateLimitCacheKey();
$cachedRetryAfter = Redis::get($cacheKey);
if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {
throw new RateLimitException(
'Hubspot rate limit (cached circuit-breaker)',
(int) $cachedRetryAfter,
);
}
try {
return $apiCall();
} catch (Throwable $e) {
if ($this->isHubspotRateLimit($e)) {
$retryAfter = $this->parseRetryAfter($e);
Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);
$this->log->warning('[Hubspot] Received 429 from API', [
'team_id' => $this->config->team_id,
'config_id' => $this->config->getId(),
'retry_after' => $retryAfter,
'policy' => $this->parsePolicy($e),
'reason' => $e->getMessage(),
]);
throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);
}
throw $e;
}
}
private function getRateLimitCacheKey(): string
{
return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());
}
public function isHubspotRateLimit(Throwable $e): bool
{
if ($e instanceof BadRequest
|| $e instanceof DealApiException
|| $e instanceof ContactApiException
|| $e instanceof CompanyApiException
|| $e instanceof \GuzzleHttp\Exception\RequestException
) {
return (int) $e->getCode() === 429;
}
return false;
}
public function parseRetryAfter(Throwable $e): int
{
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$e ' . PHP_EOL . print_r($e, true));
return 5;
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;
}
}
$policy = $this->parsePolicy($e);
if ($policy === 'TEN_SECONDLY_ROLLING') {
return 10;
}
if ($policy === 'SECONDLY') {
return 1;
}
if ($policy === 'DAILY_LIMIT') {
return 600;
}
$this->log->warning('[Hubspot] No retry-after header or policy name found, using default', [
'exception_class' => get_class($e),
]);
return 10;
}
public function parsePolicy(Throwable $e): ?string
{
if (! method_exists($e, 'getResponseBody')) {
return null;
}
$body = $e->getResponseBody();
if (is_string($body)) {
$body = json_decode($body, true) ?? [];
}
if (! is_array($body)) {
return null;
}
$policy = $body['policyName'] ?? $body['policy'] ?? $body['context']['policyName'] ?? null;
return is_string($policy) ? strtoupper($policy) : null;
}
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
);
}
/**
* Execute a search request against HubSpot CRM objects with rate limiting.
*
* @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')
* @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.
* @return array The search response with 'results', 'total', 'paging' keys
* @throws RateLimitException When rate limit is hit
* @throws HubspotException On API errors
*/
public function search(string $objectType, array $payload): array
{
$endpoint = self::BASE_URL . "/crm/v3/objects/{$objectType}/search";
return $this->executeRequest(function () use ($endpoint, $payload) {
$response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$response ' . PHP_EOL . print_r($response, true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$response ' . PHP_EOL . print_r($response->getResponseHeaders(), true));
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$response ' . PHP_EOL . print_r($response->getResponseHeaders(), true));
return $response->toArray();
});
}
/**
* @throws DealApiException
* @throws CrmException
*/
public function getOpportunityById(string $crmId, array $fields): array
{
try {
// $deal = $this->executeRequest(fn () => $this->getNewInstance()->crm()->deals()->basicApi()->getById(
$deal = $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') {
return $this->getInstance()->getClient()?->request(
method: $method,
endpoint: $endpoint,
query_string: $queryString
);
} else {
return $this->getInstance()->getClient()->request($method, $endpoint, [
'json' => ($payload),
]);
}
}
/**
* @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 (RateLimitException $e) {
// throw $e;
} 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);
}
}
Sync Changes
Hide This Notification
Code changed:
Hide
19
Previous Highlighted Error
Next Highlighted Error
[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {
"headers":{
"Date":["Thu,07 May 2026 14:21:15 GMT"],
"Content-Type":["application/json;charset=utf-8"],
"Transfer-Encoding":["chunked"],
"Connection":["keep-alive"],
"CF-Ray":["9f80deb8db60dc3a-SOF"],
"CF-Cache-Status":["DYNAMIC"],
"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],
"Vary":["origin,
accept-encoding"],
"access-control-allow-credentials":["false"],
"server-timing":["hcid;desc=\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\",
cfr;desc=\"9f80deb8e7c6dc3a-IAD\""],
"x-content-type-options":["nosniff"],
"x-hubspot-correlation-id":["019e02d0-6fd8-7812-bdba-885b7ccb3ee3"],
"Set-Cookie":["__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-[IP_ADDRESS]-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,
07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None"],
"Report-To":["{
\"endpoints\":[{
\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\"}],
\"group\":\"cf-nel\",
\"max_age\":604800}"],
"NEL":["{
\"success_fraction\":0.01,
\"report_to\":\"cf-nel\",
\"max_age\":604800}"],
"Server":["cloudflare"]}} {
"correlation_id":"95236535-ec98-4541-b92a-adfa73b69eab",
"trace_id":"c7ab8365-903f-46d4-9403-0e5b551e3545"}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
17843
|
NULL
|
0
|
2026-05-11T10:37:24.607592+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778495844607_m2.jpg...
|
Slack
|
platform-inner-team (Channel) - Jiminny Inc - 3 ne platform-inner-team (Channel) - Jiminny Inc - 3 new items - Slack...
|
1
|
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
Aneliya Angelova
Galya Dimitrova
Petko Kashinski
Stefka Stoyanova
Vasil Vasilev
Nikolay Ivanov
Aneliya Angelova
,
Nikolay Yankov
,
Steliyan Georgiev
Stoyan Tanev...
|
[{"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.018949468,"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":24,"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":"Aneliya Angelova","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Galya Dimitrova","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Petko Kashinski","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Stefka Stoyanova","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Vasil Vasilev","depth":23,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Nikolay Ivanov","depth":23,"on_screen":true,"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"}]...
|
-785883558906054602
|
-3515063313663091037
|
idle
|
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
Aneliya Angelova
Galya Dimitrova
Petko Kashinski
Stefka Stoyanova
Vasil Vasilev
Nikolay Ivanov
Aneliya Angelova
,
Nikolay Yankov
,
Steliyan Georgiev
Stoyan Tanev
rireroyMIstory08Issues APP-TEEDID: 91c4f726167168clientendpointpayload••• @New Tab@Screenpipe - Archive7hours ago JSONJumo to: Hiahlial} catch (\Exception Se) {iT schlent->isunauchorizedexception(seSthis->logger->warning(' [Hubspot] Got 401 during pagination, attemptingObiect Jiminnv Services Crm Hubspot Cienthttps://api.hubapi.com/crm/v3/objects/contact/search &after: 70v filterGroups: [› < 1 item ?properties: l 14 items J,"Z ltemsObiect Jiminny Services Crm Hubspot Pagination PaginationState.pp/Services/Crm/ Hubspot/Pagination/HubspotPaginationService.php:51 in Jiminny Services Crm Hubspot Paginaaon/Services//Crm//Hubsnot/Client.nho:04 in Jiminnv Services Crm. Hubsnot Client-aetPacinatedData/app/Services/Crm/Hubspot/Service.php:1212 in Jiminny|Services\Crm\Hubspot\Service::Jiminny|Services\Crm\HubCalled from:/vendor/laravel/framework/src/Illuminate/Cache/Repository.php:564 in Illuminate\Cache\Repository:renJann/Servicas/Crm/Huhsnot /Sorvice nhn-1204 in Jiminnv|Servicoc|Crm|Hubsnat) Sorvico«matchRvNameapp//Services/Crm/CachedCrmServiceDecorator.php:167in Jiminny Services Crm\CachedCrmServiceDecorator:matlaon/Services//Crm//CrmActivitvService.ohn:227inJiminnv Services Crm.CrmActivitvService.fndCrmRecords/app/Services/Crm/CrmActivityService.php:139 in Jiminny\Services\Crm\CrmActivityService:updateParticipantsCrmllaoo/Services/crm/CrmActivitvService.ohv.81inJiminnvServices.Crm.CrmActivityService.uodateCrmDatalJann/Aobs/Crm/MatchActivitvCrm0ata.nhn:107inJiminnv|Johc\Crm|MatchActivitvCrmData«liminnv|Johc\CrmVcloCalled from: /vendor/laravel/framework/src/llluminate/Database/Concerns/ManadecTrancactions.nhn:35 in llluminateJann/2ohs/Crm//MatchActivitvCrmData.nhn.87inliminnvJohc\Crm.MatchActivitvCrmData«handlelaoo/Queue/Worker/Worker.oho:71 in Jiminnv\Queue Worker Worker-procescCalled from:/vendor/laravel//framework/src//llluminate/Queue/Worker.ohv:435inllluminate.Queue.Worker..runJobGuzzleHtto Excention ClientExcentionapp.screenolpe.lakylak.xyzscreenolpearchive.db • 12323.6MBAewVinevWeltkeikeelenaAl SummanAPP TIMELINE • CLICK TO PLAY - DRAG SCROLLBAR TO PANI4 30s[Firefox)0 CleanShot XQuickTime PlavelPhoSton07 / 05/ 2026...
|
17841
|
NULL
|
NULL
|
NULL
|
|
17842
|
NULL
|
0
|
2026-05-11T10:37:23.752276+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778495843752_m1.jpg...
|
Slack
|
platform-inner-team (Channel) - Jiminny Inc - 3 ne platform-inner-team (Channel) - Jiminny Inc - 3 new items - Slack...
|
1
|
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
Aneliya Angelova
Galya Dimitrova
Petko Kashinski
Stefka Stoyanova
Vasil Vasilev
Nikolay Ivanov
Aneliya Angelova
,
Nikolay Yankov
,
Steliyan Georgiev
Stoyan Tanev
Ves
Lukas Kovalik
you
Toast
Jira Cloud
Google Calendar
Unread mentions
Messages
Messages
Channel Overview
Channel Overview
More
Add and Edit Channel Tabs
Canvas
List
Folder
Jump to date
Steliyan Georgiev
May 5th at 11:44:25 AM
11:44 AM
Моля погледнете този ПР, когато имате време. Претакал съм го вече през @claude ревюъра.
https://github.com/jiminny/prophet/pull/493
https://github.com/jiminny/prophet/pull/493
1 reaction, react with +1 emoji
1
Add reaction…
Jump to date
Aneliya Angelova
May 7th at 9:37:00 AM
9:37 AM
Добро утро, тази сутрин видях, че съм със спаднала гума и чакам да ми я залепят. Няма да успея за дейлито.
Jump to date
Lukas Kovalik
May 8th at 1:03:26 PM
1:03 PM
може ли review
https://github.com/jiminny/app/pull/12056
https://github.com/jiminny/app/pull/12056
May 8th at 1:03:53 PM
1:03
за ask jiminny reports datadog метрики
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
Jump to date
New
Nikolay Yankov
Today at 12:51:13 PM
12:51 PM
има ли случаи някой да си е сетъпнал стотици или хиляди themes & topics?
1 reply
Today at 12:54 PM
View thread
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply to thread
Forward message…
Save for later
Summarize thread
More actions
Galya Dimitrova
Today at 1:03:49 PM
1:03 PM
Сторитата за MCP които да видим после на срещата:
https://jiminny.atlassian.net/browse/JY-20833
https://jiminny.atlassian.net/browse/JY-20833
https://jiminny.atlassian.net/browse/JY-20835
https://jiminny.atlassian.net/browse/JY-20835
https://jiminny.atlassian.net/browse/JY-20834
https://jiminny.atlassian.net/browse/JY-20834
https://jiminny.atlassian.net/browse/JY-20836
https://jiminny.atlassian.net/browse/JY-20836
4 attachments
4 attachments
Jira Cloud Story JY-20833 MCP > Enable users to get a list of calls and their details Story JY-20833 in Jira Cloud Preview in Slack
MCP > Enable users to get a list of calls and their details
Story JY-20833 in Jira Cloud
Preview in Slack
Open in browser
Share Story JY-20833
View conversations
More actions
Jira Cloud Story JY-20835 MCP > Enable users to get a list of deals and their details Story JY-20835 in Jira Cloud Preview in Slack
MCP > Enable users to get a list of deals and their details
Story JY-20835 in Jira Cloud
Preview in Slack
Open in browser
Share Story JY-20835
View conversations
More actions
Jira Cloud Story JY-20834 MCP > Authenticate each user for easy access Story JY-20834 in Jira Cloud Preview in Slack
MCP > Authenticate each user for easy access
Story JY-20834 in Jira Cloud
Preview in Slack
Open in browser
Share Story JY-20834
View conversations
More actions
Jira Cloud Story JY-20836 MCP > Audit log Story JY-20836 in Jira Cloud Preview in Slack
MCP > Audit log
Story JY-20836 in Jira Cloud
Preview in Slack
Open in browser
Share Story JY-20836
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
loading…
Channel 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.039583333,"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.15111111,"width":0.09166667,"height":0.02},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.58819443,"top":0.15111111,"width":0.0027777778,"height":0.02}},{"char_start":1,"char_count":24,"bounds":{"left":0.59097224,"top":0.15111111,"width":0.11319444,"height":0.02}}],"role_description":"text"},{"role":"AXStaticText","text":"platform-inner-team","depth":24,"bounds":{"left":0.58819443,"top":0.18222222,"width":0.093055554,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ai-chapter","depth":23,"bounds":{"left":0.58819443,"top":0.25555557,"width":0.046527777,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"alerts","depth":23,"bounds":{"left":0.58819443,"top":0.28666666,"width":0.025694445,"height":0.02},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.58819443,"top":0.28666666,"width":0.0055555557,"height":0.02}},{"char_start":1,"char_count":5,"bounds":{"left":0.59375,"top":0.28666666,"width":0.019444445,"height":0.02}}],"role_description":"text"},{"role":"AXStaticText","text":"backend","depth":23,"bounds":{"left":0.58819443,"top":0.31777778,"width":0.038194444,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bugs","depth":23,"bounds":{"left":0.58819443,"top":0.34888887,"width":0.022222223,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"confusion-clinic","depth":23,"bounds":{"left":0.58819443,"top":0.38,"width":0.072222225,"height":0.02},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.58819443,"top":0.38,"width":0.0048611113,"height":0.02}},{"char_start":1,"char_count":15,"bounds":{"left":0.59305555,"top":0.38,"width":0.06736111,"height":0.02}}],"role_description":"text"},{"role":"AXStaticText","text":"curiosity_lab","depth":23,"bounds":{"left":0.58819443,"top":0.41111112,"width":0.057638887,"height":0.02},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.58819443,"top":0.41111112,"width":0.0048611113,"height":0.02}},{"char_start":1,"char_count":12,"bounds":{"left":0.59305555,"top":0.41111112,"width":0.05277778,"height":0.02}}],"role_description":"text"},{"role":"AXStaticText","text":"engineering","depth":23,"bounds":{"left":0.58819443,"top":0.4422222,"width":0.054166667,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"general","depth":23,"bounds":{"left":0.58819443,"top":0.47333333,"width":0.034027778,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"jiminny-bg","depth":23,"bounds":{"left":0.58819443,"top":0.5044444,"width":0.048611112,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"platform-tickets","depth":23,"bounds":{"left":0.58819443,"top":0.53555554,"width":0.072916664,"height":0.02},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.58819443,"top":0.53555554,"width":0.00625,"height":0.02}},{"char_start":1,"char_count":15,"bounds":{"left":0.59444445,"top":0.53555554,"width":0.06666667,"height":0.02}}],"role_description":"text"},{"role":"AXStaticText","text":"product_launches","depth":23,"bounds":{"left":0.58819443,"top":0.56666666,"width":0.08055556,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"random","depth":23,"bounds":{"left":0.58819443,"top":0.5977778,"width":0.035416666,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"releases","depth":23,"bounds":{"left":0.58819443,"top":0.6288889,"width":0.036805555,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"sofia-office","depth":23,"bounds":{"left":0.58819443,"top":0.66,"width":0.05138889,"height":0.02},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.58819443,"top":0.66,"width":0.0048611113,"height":0.02}},{"char_start":1,"char_count":11,"bounds":{"left":0.59305555,"top":0.66,"width":0.045833334,"height":0.02}}],"role_description":"text"},{"role":"AXStaticText","text":"support","depth":23,"bounds":{"left":0.58819443,"top":0.6911111,"width":0.036111113,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"thank-yous","depth":23,"bounds":{"left":0.58819443,"top":0.7222222,"width":0.05347222,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the_people_of_jiminny","depth":23,"bounds":{"left":0.58819443,"top":0.75333333,"width":0.094444446,"height":0.02},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.58819443,"top":0.75333333,"width":0.004166667,"height":0.02}},{"char_start":1,"char_count":20,"bounds":{"left":0.5923611,"top":0.75333333,"width":0.09861111,"height":0.02}}],"role_description":"text"},{"role":"AXStaticText","text":"Aneliya Angelova","depth":23,"bounds":{"left":0.58819443,"top":0.82666665,"width":0.07847222,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Galya Dimitrova","depth":23,"bounds":{"left":0.58819443,"top":0.8577778,"width":0.07361111,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Petko Kashinski","depth":23,"bounds":{"left":0.58819443,"top":0.8888889,"width":0.072222225,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Stefka Stoyanova","depth":23,"bounds":{"left":0.58819443,"top":0.92,"width":0.079166666,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Vasil Vasilev","depth":23,"bounds":{"left":0.58819443,"top":0.95111114,"width":0.055555556,"height":0.02},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.58819443,"top":0.95111114,"width":0.00625,"height":0.02}},{"char_start":1,"char_count":12,"bounds":{"left":0.59444445,"top":0.95111114,"width":0.048611112,"height":0.02}}],"role_description":"text"},{"role":"AXStaticText","text":"Nikolay Ivanov","depth":23,"bounds":{"left":0.58819443,"top":0.9822222,"width":0.06736111,"height":0.012222222},"on_screen":true,"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":"Ves","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":"Toast","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Jira Cloud","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Google Calendar","depth":23,"on_screen":false,"role_description":"text"},{"role":"AXButton","text":"Unread mentions","depth":17,"bounds":{"left":0.575,"top":0.95444447,"width":0.10069445,"height":0.031111112},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXRadioButton","text":"Messages","depth":18,"bounds":{"left":0.71319443,"top":0.12777779,"width":0.06458333,"height":0.04222222},"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":20,"bounds":{"left":0.7326389,"top":0.14,"width":0.039583333,"height":0.017777778},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"Channel Overview","depth":18,"bounds":{"left":0.7798611,"top":0.12777779,"width":0.1,"height":0.04222222},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Channel Overview","depth":20,"bounds":{"left":0.79930556,"top":0.14,"width":0.075,"height":0.017777778},"on_screen":true,"role_description":"text"},{"role":"AXRadioButton","text":"More","depth":19,"bounds":{"left":0.8819444,"top":0.12777779,"width":0.04236111,"height":0.04222222},"on_screen":true,"role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"Add and Edit Channel Tabs","depth":18,"bounds":{"left":0.92430556,"top":0.12777779,"width":0.022222223,"height":0.04222222},"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":18,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"List","depth":18,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Folder","depth":18,"on_screen":false,"role_description":"text"},{"role":"AXPopUpButton","text":"Jump to date","depth":24,"bounds":{"left":0.8,"top":0.16111112,"width":0.09861111,"height":0.0011111111},"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":25,"bounds":{"left":0.7465278,"top":0.16111112,"width":0.08263889,"height":0.0011111111},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.82916665,"top":0.16111112,"width":0.0055555557,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"May 5th at 11:44:25 AM","depth":25,"bounds":{"left":0.83402777,"top":0.16111112,"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":"11:44 AM","depth":26,"bounds":{"left":0.83402777,"top":0.16111112,"width":0.0375,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Моля погледнете този ПР, когато имате време. Претакал съм го вече през @claude ревюъра.","depth":26,"bounds":{"left":0.7465278,"top":0.16111112,"width":0.22708334,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"https://github.com/jiminny/prophet/pull/493","depth":26,"bounds":{"left":0.7465278,"top":0.16111112,"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":"https://github.com/jiminny/prophet/pull/493","depth":27,"bounds":{"left":0.7465278,"top":0.16111112,"width":0.20555556,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXCheckBox","text":"1 reaction, react with +1 emoji","depth":26,"bounds":{"left":0.7465278,"top":0.16111112,"width":0.029861111,"height":0.0011111111},"on_screen":true,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"1","depth":27,"bounds":{"left":0.7659722,"top":0.16111112,"width":0.0048611113,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Add reaction…","depth":26,"bounds":{"left":0.77916664,"top":0.16111112,"width":0.023611112,"height":0.0011111111},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"Jump to date","depth":24,"bounds":{"left":0.79791665,"top":0.16111112,"width":0.103472225,"height":0.0011111111},"on_screen":true,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Aneliya Angelova","depth":25,"bounds":{"left":0.7465278,"top":0.16111112,"width":0.08125,"height":0.0011111111},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.8277778,"top":0.16111112,"width":0.0055555557,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"May 7th at 9:37:00 AM","depth":25,"bounds":{"left":0.8333333,"top":0.16111112,"width":0.031944446,"height":0.0011111111},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"9:37 AM","depth":26,"bounds":{"left":0.8333333,"top":0.16111112,"width":0.031944446,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Добро утро, тази сутрин видях, че съм със спаднала гума и чакам да ми я залепят. Няма да успея за дейлито.","depth":26,"bounds":{"left":0.7465278,"top":0.16111112,"width":0.2326389,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXPopUpButton","text":"Jump to date","depth":24,"bounds":{"left":0.8041667,"top":0.17666666,"width":0.09097222,"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":"Lukas Kovalik","depth":25,"bounds":{"left":0.7465278,"top":0.16111112,"width":0.06458333,"height":0.0011111111},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.8111111,"top":0.16111112,"width":0.0055555557,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"May 8th at 1:03:26 PM","depth":25,"bounds":{"left":0.81666666,"top":0.16111112,"width":0.03125,"height":0.0011111111},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"1:03 PM","depth":26,"bounds":{"left":0.81666666,"top":0.16111112,"width":0.03125,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"може ли review","depth":26,"bounds":{"left":0.7465278,"top":0.16111112,"width":0.07430556,"height":0.006666667},"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"https://github.com/jiminny/app/pull/12056","depth":26,"bounds":{"left":0.7465278,"top":0.17222223,"width":0.19791667,"height":0.02},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"https://github.com/jiminny/app/pull/12056","depth":27,"bounds":{"left":0.7465278,"top":0.17222223,"width":0.19791667,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"May 8th at 1:03:53 PM","depth":26,"bounds":{"left":0.72430557,"top":0.20888889,"width":0.016666668,"height":0.016666668},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"1:03","depth":27,"bounds":{"left":0.72430557,"top":0.20888889,"width":0.016666668,"height":0.016666668},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"за ask jiminny reports datadog метрики","depth":26,"bounds":{"left":0.7465278,"top":0.20555556,"width":0.18194444,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXCheckBox","text":"React with white_check_mark","depth":27,"bounds":{"left":0.8048611,"top":0.1711111,"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":27,"bounds":{"left":0.82708335,"top":0.1711111,"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":27,"bounds":{"left":0.84930557,"top":0.1711111,"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":27,"bounds":{"left":0.8715278,"top":0.1711111,"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":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Forward message…","depth":27,"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":27,"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":27,"on_screen":false,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"Jump to date","depth":24,"bounds":{"left":0.8229167,"top":0.24777777,"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":"AXStaticText","text":"New","depth":24,"bounds":{"left":0.96458334,"top":0.25444445,"width":0.01875,"height":0.017777778},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Nikolay Yankov","depth":25,"bounds":{"left":0.7465278,"top":0.2911111,"width":0.072222225,"height":0.024444444},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.81805557,"top":0.29333332,"width":0.00625,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"Today at 12:51:13 PM","depth":25,"bounds":{"left":0.82361114,"top":0.29666665,"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":"12:51 PM","depth":26,"bounds":{"left":0.82361114,"top":0.29666665,"width":0.036805555,"height":0.016666668},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"има ли случаи някой да си е сетъпнал стотици или хиляди themes & topics?","depth":26,"bounds":{"left":0.7465278,"top":0.31777778,"width":0.22569445,"height":0.044444446},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.7465278,"top":0.31777778,"width":0.00625,"height":0.02}},{"char_start":1,"char_count":71,"bounds":{"left":0.7465278,"top":0.31777778,"width":0.225,"height":0.044444446}}],"role_description":"text"},{"role":"AXButton","text":"1 reply","depth":25,"bounds":{"left":0.76805556,"top":0.37222221,"width":0.027777778,"height":0.022222223},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Today at 12:54 PM","depth":26,"bounds":{"left":0.80138886,"top":0.37444445,"width":0.075,"height":0.017777778},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"View thread","depth":26,"bounds":{"left":0.80138886,"top":0.37444445,"width":0.047916666,"height":0.017777778},"on_screen":true,"role_description":"text"},{"role":"AXCheckBox","text":"React with white_check_mark","depth":27,"bounds":{"left":0.7826389,"top":0.27222222,"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":27,"bounds":{"left":0.8048611,"top":0.27222222,"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":27,"bounds":{"left":0.82708335,"top":0.27222222,"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":27,"bounds":{"left":0.84930557,"top":0.27222222,"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 to thread","depth":27,"bounds":{"left":0.8715278,"top":0.27222222,"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":27,"bounds":{"left":0.89375,"top":0.27222222,"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":27,"on_screen":false,"role_description":"toggle button","subrole":"AXToggleButton","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Summarize thread","depth":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXPopUpButton","text":"More actions","depth":27,"on_screen":false,"role_description":"pop-up button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Galya Dimitrova","depth":25,"bounds":{"left":0.7465278,"top":0.41111112,"width":0.07638889,"height":0.024444444},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"","depth":25,"bounds":{"left":0.8361111,"top":0.41333333,"width":0.0055555557,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"Today at 1:03:49 PM","depth":25,"bounds":{"left":0.84166664,"top":0.41666666,"width":0.031944446,"height":0.016666668},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"1:03 PM","depth":26,"bounds":{"left":0.84166664,"top":0.41666666,"width":0.031944446,"height":0.016666668},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Сторитата за MCP които да видим после на срещата:","depth":26,"bounds":{"left":0.7465278,"top":0.4377778,"width":0.21180555,"height":0.044444446},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.7465278,"top":0.4377778,"width":0.0069444445,"height":0.02}},{"char_start":1,"char_count":48,"bounds":{"left":0.7465278,"top":0.4377778,"width":0.21111111,"height":0.044444446}}],"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"bounds":{"left":0.74930555,"top":0.4888889,"width":0.010416667,"height":0.017777778},"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"https://jiminny.atlassian.net/browse/JY-20833","depth":27,"bounds":{"left":0.7659722,"top":0.48666668,"width":0.21111111,"height":0.02},"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-20833","depth":28,"bounds":{"left":0.7659722,"top":0.48666668,"width":0.21111111,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"bounds":{"left":0.74930555,"top":0.5133333,"width":0.010416667,"height":0.017777778},"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"https://jiminny.atlassian.net/browse/JY-20835","depth":27,"bounds":{"left":0.7659722,"top":0.51111114,"width":0.21111111,"height":0.02},"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-20835","depth":28,"bounds":{"left":0.7659722,"top":0.51111114,"width":0.21111111,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"bounds":{"left":0.74930555,"top":0.5377778,"width":0.010416667,"height":0.017777778},"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"https://jiminny.atlassian.net/browse/JY-20834","depth":27,"bounds":{"left":0.7659722,"top":0.53555554,"width":0.21111111,"height":0.02},"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-20834","depth":28,"bounds":{"left":0.7659722,"top":0.53555554,"width":0.21111111,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"","depth":28,"bounds":{"left":0.74930555,"top":0.56222224,"width":0.010416667,"height":0.017777778},"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"https://jiminny.atlassian.net/browse/JY-20836","depth":27,"bounds":{"left":0.7659722,"top":0.56,"width":0.21111111,"height":0.02},"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-20836","depth":28,"bounds":{"left":0.7659722,"top":0.56,"width":0.21111111,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"4 attachments","depth":25,"bounds":{"left":0.7465278,"top":0.5922222,"width":0.056944445,"height":0.017777778},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"4 attachments","depth":25,"bounds":{"left":0.8055556,"top":0.5922222,"width":0.011805556,"height":0.017777778},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":true},{"role":"AXButton","text":"Jira Cloud Story JY-20833 MCP > Enable users to get a list of calls and their details Story JY-20833 in Jira Cloud Preview in Slack","depth":27,"bounds":{"left":0.7465278,"top":0.6155556,"width":0.2361111,"height":0.07333333},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"MCP > Enable users to get a list of calls and their details","depth":28,"bounds":{"left":0.7888889,"top":0.6344444,"width":0.18402778,"height":0.04},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.7888889,"top":0.6344444,"width":0.009722223,"height":0.02}},{"char_start":1,"char_count":58,"bounds":{"left":0.7888889,"top":0.6344444,"width":0.18333334,"height":0.02}}],"role_description":"text"},{"role":"AXStaticText","text":"Story JY-20833 in Jira Cloud","depth":29,"bounds":{"left":0.7888889,"top":0.6566667,"width":0.11319444,"height":0.017777778},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.7888889,"top":0.6566667,"width":0.0048611113,"height":0.017777778}},{"char_start":1,"char_count":27,"bounds":{"left":0.79375,"top":0.6566667,"width":0.108333334,"height":0.017777778}}],"role_description":"text"},{"role":"AXStaticText","text":"Preview in Slack","depth":29,"bounds":{"left":0.7888889,"top":0.6566667,"width":0.06527778,"height":0.017777778},"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"Open in browser","depth":29,"bounds":{"left":0.8819444,"top":0.6344444,"width":0.022222223,"height":0.035555556},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Share Story JY-20833","depth":28,"bounds":{"left":0.90416664,"top":0.6344444,"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":"View conversations","depth":28,"bounds":{"left":0.92638886,"top":0.6344444,"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":"More actions","depth":28,"bounds":{"left":0.94861114,"top":0.6344444,"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":"Jira Cloud Story JY-20835 MCP > Enable users to get a list of deals and their details Story JY-20835 in Jira Cloud Preview in Slack","depth":27,"bounds":{"left":0.7465278,"top":0.69777775,"width":0.2361111,"height":0.07333333},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"MCP > Enable users to get a list of deals and their details","depth":28,"bounds":{"left":0.7888889,"top":0.71666664,"width":0.17986111,"height":0.04},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.7888889,"top":0.71666664,"width":0.009722223,"height":0.02}},{"char_start":1,"char_count":58,"bounds":{"left":0.7888889,"top":0.71666664,"width":0.17986111,"height":0.02}}],"role_description":"text"},{"role":"AXStaticText","text":"Story JY-20835 in Jira Cloud","depth":29,"bounds":{"left":0.7888889,"top":0.73888886,"width":0.11319444,"height":0.017777778},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.7888889,"top":0.73888886,"width":0.0048611113,"height":0.017777778}},{"char_start":1,"char_count":27,"bounds":{"left":0.79375,"top":0.73888886,"width":0.108333334,"height":0.017777778}}],"role_description":"text"},{"role":"AXStaticText","text":"Preview in Slack","depth":29,"bounds":{"left":0.7888889,"top":0.73888886,"width":0.06527778,"height":0.017777778},"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"Open in browser","depth":29,"bounds":{"left":0.8819444,"top":0.71666664,"width":0.022222223,"height":0.035555556},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Share Story JY-20835","depth":28,"bounds":{"left":0.90416664,"top":0.71666664,"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":"View conversations","depth":28,"bounds":{"left":0.92638886,"top":0.71666664,"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":"More actions","depth":28,"bounds":{"left":0.94861114,"top":0.71666664,"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":"Jira Cloud Story JY-20834 MCP > Authenticate each user for easy access Story JY-20834 in Jira Cloud Preview in Slack","depth":27,"bounds":{"left":0.7465278,"top":0.78,"width":0.2361111,"height":0.07333333},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"MCP > Authenticate each user for easy access","depth":28,"bounds":{"left":0.7888889,"top":0.79888886,"width":0.18263888,"height":0.04},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.7888889,"top":0.79888886,"width":0.009722223,"height":0.02}},{"char_start":1,"char_count":43,"bounds":{"left":0.7888889,"top":0.79888886,"width":0.18194444,"height":0.02}}],"role_description":"text"},{"role":"AXStaticText","text":"Story JY-20834 in Jira Cloud","depth":29,"bounds":{"left":0.7888889,"top":0.8211111,"width":0.11319444,"height":0.017777778},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.7888889,"top":0.8211111,"width":0.0048611113,"height":0.017777778}},{"char_start":1,"char_count":27,"bounds":{"left":0.79375,"top":0.8211111,"width":0.108333334,"height":0.017777778}}],"role_description":"text"},{"role":"AXStaticText","text":"Preview in Slack","depth":29,"bounds":{"left":0.7888889,"top":0.8211111,"width":0.06527778,"height":0.017777778},"on_screen":true,"role_description":"text"},{"role":"AXLink","text":"Open in browser","depth":29,"bounds":{"left":0.8819444,"top":0.79888886,"width":0.022222223,"height":0.035555556},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Share Story JY-20834","depth":28,"bounds":{"left":0.90416664,"top":0.79888886,"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":"View conversations","depth":28,"bounds":{"left":0.92638886,"top":0.79888886,"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":"More actions","depth":28,"bounds":{"left":0.94861114,"top":0.79888886,"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":"Jira Cloud Story JY-20836 MCP > Audit log Story JY-20836 in Jira Cloud Preview in Slack","depth":27,"bounds":{"left":0.7465278,"top":0.8622222,"width":0.2361111,"height":0.025555555},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"MCP > Audit log","depth":28,"bounds":{"left":0.7888889,"top":0.8811111,"width":0.07569444,"height":0.006666667},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Story JY-20836 in Jira Cloud","depth":29,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Preview in Slack","depth":29,"on_screen":false,"role_description":"text"},{"role":"AXLink","text":"Open in browser","depth":29,"bounds":{"left":0.8819444,"top":0.8811111,"width":0.022222223,"height":0.006666667},"on_screen":true,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Share Story JY-20836","depth":28,"bounds":{"left":0.90416664,"top":0.8811111,"width":0.022222223,"height":0.006666667},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"View conversations","depth":28,"bounds":{"left":0.92638886,"top":0.8811111,"width":0.022222223,"height":0.006666667},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"More actions","depth":28,"bounds":{"left":0.94861114,"top":0.8811111,"width":0.022222223,"height":0.006666667},"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":27,"bounds":{"left":0.8048611,"top":0.39222223,"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":27,"bounds":{"left":0.82708335,"top":0.39222223,"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":27,"bounds":{"left":0.84930557,"top":0.39222223,"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":27,"bounds":{"left":0.8715278,"top":0.39222223,"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":27,"on_screen":false,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Forward message…","depth":27,"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":27,"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":27,"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.71666664,"top":0.88,"width":0.26527777,"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":"loading…","depth":11,"on_screen":false,"role_description":"text"},{"role":"AXStaticText","text":"Channel platform-inner-team","depth":11,"on_screen":false,"role_description":"text"}]...
|
7032962682439920042
|
-4055191365646677264
|
idle
|
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
Aneliya Angelova
Galya Dimitrova
Petko Kashinski
Stefka Stoyanova
Vasil Vasilev
Nikolay Ivanov
Aneliya Angelova
,
Nikolay Yankov
,
Steliyan Georgiev
Stoyan Tanev
Ves
Lukas Kovalik
you
Toast
Jira Cloud
Google Calendar
Unread mentions
Messages
Messages
Channel Overview
Channel Overview
More
Add and Edit Channel Tabs
Canvas
List
Folder
Jump to date
Steliyan Georgiev
May 5th at 11:44:25 AM
11:44 AM
Моля погледнете този ПР, когато имате време. Претакал съм го вече през @claude ревюъра.
https://github.com/jiminny/prophet/pull/493
https://github.com/jiminny/prophet/pull/493
1 reaction, react with +1 emoji
1
Add reaction…
Jump to date
Aneliya Angelova
May 7th at 9:37:00 AM
9:37 AM
Добро утро, тази сутрин видях, че съм със спаднала гума и чакам да ми я залепят. Няма да успея за дейлито.
Jump to date
Lukas Kovalik
May 8th at 1:03:26 PM
1:03 PM
може ли review
https://github.com/jiminny/app/pull/12056
https://github.com/jiminny/app/pull/12056
May 8th at 1:03:53 PM
1:03
за ask jiminny reports datadog метрики
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply in thread
Forward message…
Save for later
More actions
Jump to date
New
Nikolay Yankov
Today at 12:51:13 PM
12:51 PM
има ли случаи някой да си е сетъпнал стотици или хиляди themes & topics?
1 reply
Today at 12:54 PM
View thread
React with white_check_mark
React with eyes
React with raised_hands
Add reaction…
Reply to thread
Forward message…
Save for later
Summarize thread
More actions
Galya Dimitrova
Today at 1:03:49 PM
1:03 PM
Сторитата за MCP които да видим после на срещата:
https://jiminny.atlassian.net/browse/JY-20833
https://jiminny.atlassian.net/browse/JY-20833
https://jiminny.atlassian.net/browse/JY-20835
https://jiminny.atlassian.net/browse/JY-20835
https://jiminny.atlassian.net/browse/JY-20834
https://jiminny.atlassian.net/browse/JY-20834
https://jiminny.atlassian.net/browse/JY-20836
https://jiminny.atlassian.net/browse/JY-20836
4 attachments
4 attachments
Jira Cloud Story JY-20833 MCP > Enable users to get a list of calls and their details Story JY-20833 in Jira Cloud Preview in Slack
MCP > Enable users to get a list of calls and their details
Story JY-20833 in Jira Cloud
Preview in Slack
Open in browser
Share Story JY-20833
View conversations
More actions
Jira Cloud Story JY-20835 MCP > Enable users to get a list of deals and their details Story JY-20835 in Jira Cloud Preview in Slack
MCP > Enable users to get a list of deals and their details
Story JY-20835 in Jira Cloud
Preview in Slack
Open in browser
Share Story JY-20835
View conversations
More actions
Jira Cloud Story JY-20834 MCP > Authenticate each user for easy access Story JY-20834 in Jira Cloud Preview in Slack
MCP > Authenticate each user for easy access
Story JY-20834 in Jira Cloud
Preview in Slack
Open in browser
Share Story JY-20834
View conversations
More actions
Jira Cloud Story JY-20836 MCP > Audit log Story JY-20836 in Jira Cloud Preview in Slack
MCP > Audit log
Story JY-20836 in Jira Cloud
Preview in Slack
Open in browser
Share Story JY-20836
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
loading…
Channel platform-inner-team
SlackFileEditViewGoHistoryWindowHelpDOCKERO ₴1DEV (docker)Last login: Sun May 10 21:10:26 on ttys013₴2APP (-zsh)883Poetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.toml file in /Users/lukas or its parentslukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ l•-zshHomeDMsActivityLater..•More+lbl# Support Daily • in 1h 23 m100% C8 • Mon 11 May 13:37:23ED→Describe what you are looking forJiminny ...w Starrea& jiminny-x-integrati...8platform-inner-teamChannels# 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...° Direct messagesR. Aneliya Angelova®. Galya Dimitrova DPetko Kashinski&o Stefka StoyanovaUnread mentionsa Nilalav lvanou*à platform-inner-team& 106 0• MessagesP Channel OverviewMore v+https://githurFriday, May 8th ~ oull/12056за ask jiminny reports datadog метрикиToday ~NewNikolay Yankov 12:51 PMима ли случаи някой да си е сетьпнал стотициили хиляди themes & topics?1 reply Today at 12:54 PMGalya Dimitrova1:03 PMСторитата за МСР които да видим после насрещата:• https://jiminny.atlassian.net/browse/JY-20833• https://jiminny.atlassian.net/browse/JY-20835• https://jiminny.atlassian.net/browse/JY-20834• https://jiminny.atlassian.net/browse/JY-208364 attachments •MCP › Enable users to get a list of call...Story JY-20833 in Jira CloudMCP › Enable users to get a list of de...Story JY-20835 in Jira CloudMCP › Authenticate each user for eas...Story JY-20834 in Jira CloudMessage & platform-inner-team+Аа...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
17769
|
NULL
|
0
|
2026-05-11T10:32:22.028215+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778495542028_m1.jpg...
|
Slack
|
Aneliya Angelova (DM) - Jiminny Inc - 3 new items Aneliya Angelova (DM) - Jiminny Inc - 3 new items - Slack...
|
1
|
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
More unreads
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
Aneliya Angelova
Galya Dimitrova
Petko Kashinski
Stefka Stoyanova
Vasil Vasilev...
|
[{"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":"AXButton","text":"More unreads","depth":17,"bounds":{"left":0.58194447,"top":0.13444445,"width":0.0875,"height":0.031111112},"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"Unreads","depth":21,"bounds":{"left":0.57708335,"top":0.12777779,"width":0.039583333,"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.09652778,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"ai-chapter","depth":23,"bounds":{"left":0.58819443,"top":0.12777779,"width":0.046527777,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"alerts","depth":23,"bounds":{"left":0.58819443,"top":0.12777779,"width":0.025694445,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"backend","depth":23,"bounds":{"left":0.58819443,"top":0.12777779,"width":0.038194444,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"bugs","depth":23,"bounds":{"left":0.58819443,"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.58819443,"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.58819443,"top":0.12777779,"width":0.057638887,"height":0.0011111111},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"engineering","depth":23,"bounds":{"left":0.58819443,"top":0.12777779,"width":0.054166667,"height":0.007777778},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"general","depth":23,"bounds":{"left":0.58819443,"top":0.14666666,"width":0.034027778,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"jiminny-bg","depth":23,"bounds":{"left":0.58819443,"top":0.17777778,"width":0.048611112,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"platform-tickets","depth":23,"bounds":{"left":0.58819443,"top":0.20888889,"width":0.072916664,"height":0.02},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.58819443,"top":0.20888889,"width":0.00625,"height":0.02}},{"char_start":1,"char_count":15,"bounds":{"left":0.59444445,"top":0.20888889,"width":0.06666667,"height":0.02}}],"role_description":"text"},{"role":"AXStaticText","text":"product_launches","depth":23,"bounds":{"left":0.58819443,"top":0.24,"width":0.08055556,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"random","depth":23,"bounds":{"left":0.58819443,"top":0.2711111,"width":0.035416666,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"releases","depth":23,"bounds":{"left":0.58819443,"top":0.30222222,"width":0.036805555,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"sofia-office","depth":23,"bounds":{"left":0.58819443,"top":0.33333334,"width":0.05138889,"height":0.02},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.58819443,"top":0.33333334,"width":0.0048611113,"height":0.02}},{"char_start":1,"char_count":11,"bounds":{"left":0.59305555,"top":0.33333334,"width":0.045833334,"height":0.02}}],"role_description":"text"},{"role":"AXStaticText","text":"support","depth":23,"bounds":{"left":0.58819443,"top":0.36444443,"width":0.036111113,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"thank-yous","depth":23,"bounds":{"left":0.58819443,"top":0.39555556,"width":0.05347222,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"the_people_of_jiminny","depth":23,"bounds":{"left":0.58819443,"top":0.42666668,"width":0.094444446,"height":0.02},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.58819443,"top":0.42666668,"width":0.004166667,"height":0.02}},{"char_start":1,"char_count":20,"bounds":{"left":0.5923611,"top":0.42666668,"width":0.09861111,"height":0.02}}],"role_description":"text"},{"role":"AXStaticText","text":"Aneliya Angelova","depth":23,"bounds":{"left":0.58819443,"top":0.5,"width":0.07847222,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Galya Dimitrova","depth":23,"bounds":{"left":0.58819443,"top":0.5311111,"width":0.07361111,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Petko Kashinski","depth":23,"bounds":{"left":0.58819443,"top":0.56222224,"width":0.072222225,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Stefka Stoyanova","depth":23,"bounds":{"left":0.58819443,"top":0.5933333,"width":0.079166666,"height":0.02},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"Vasil Vasilev","depth":23,"bounds":{"left":0.58819443,"top":0.6244444,"width":0.055555556,"height":0.02},"on_screen":true,"lines":[{"char_start":0,"char_count":1,"bounds":{"left":0.58819443,"top":0.6244444,"width":0.00625,"height":0.02}},{"char_start":1,"char_count":12,"bounds":{"left":0.59444445,"top":0.6244444,"width":0.048611112,"height":0.02}}],"role_description":"text"}]...
|
4848263476541070057
|
-3520165028154925342
|
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
More unreads
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
Aneliya Angelova
Galya Dimitrova
Petko Kashinski
Stefka Stoyanova
Vasil Vasilev
SlackFileEditViewGoHistoryWindowHelpDOCKERO ₴1DEV (docker)Lastlogin:Sun May 10 21:10:26 on ttys013₴2APP (-zsh)883Poetry could not find a pyproject.toml file in /Users/lukas or its parentsPoetry could not find a pyproject.toml file inlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~ $ lFks a Boro pect, ton fi if sers/lukos or its parents-zshHomeDMsActivityPS$ISlacklah)# Support Daily - in 1h 28m100% C8• Mon 11 May 13:32:21ED→Describe what you are looking forJiminny ...clusticclllus1 More unreads## jiminny-bg# platform-tickets# product_launches# random# releases# sofia-office# support#thank-yousthe_people_of_jimil31ovaGalyovalPetko Kashinskiã. Stefka Stoyanova€. Vasil Vasilev. Nikolay IvanovAneliya Angelova, ...8 Stoyan TanevC. VesE Lukas Kovalik y...::: Apps• ToastJira CloudGoogle Cale...Aneliya Angelova6 0• MessagesAdd canvasO Files+чuле да сс мордиnс anо viма approveTuesday, April 28th~Lukas Kova..те са някави flanky че при мен минават, ще гиоправяза деплой обаче не знамAneliya Angelova 5:14 PMзащоLukas Kovalik 5:15 PMами дали ще усепя да гледамAneliya AngelovaветеAneliya Angelovaаа разорахтеГаля каза че не се използва фичъраи няма проблем да грьмнеToday ~NewAneliya Angelova 1:24 PMЛукаш за Hubspot за синковете вече се използватази команда нали?crm: sync-hubspot-objectsMessage Aneliya Angelova+Аа...
|
17767
|
NULL
|
NULL
|
NULL
|
|
17768
|
NULL
|
0
|
2026-05-11T10:32:21.418995+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778495541418_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...
|
1
|
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
|
New Tab
Close tab
Jy 20820 es reindex stream model New Tab
Close tab
Jy 20820 es reindex stream model hydration by Vasil-Jiminny · Pull Request #12059 · jiminny/app
Close tab
[JY-20725] [HubSpot] Optimise CRM rematching on delete hubspot accounts/contacts - 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
Close tab
New Tab
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Customize sidebar
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":"019e1522-8 (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
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 94% php 8.3.30
runtime
94%
php 8.3.30
runtime.name 100% php
runtime.name
100%
php
View all tags
View all tags
Select issue content
Events
Previous Event
Next Event
First
First
First
Latest
Latest
Latest
Recommended
Recommended
View More Events...
|
[{"role":"AXRadioButton","text [{"role":"AXRadioButton","text":"New Tab","depth":4,"bounds":{"left":0.0,"top":0.0518755,"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.0518755,"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":"Jy 20820 es reindex stream model hydration by Vasil-Jiminny · Pull Request #12059 · jiminny/app","depth":4,"bounds":{"left":0.0,"top":0.08459697,"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.08459697,"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":"[JY-20725] [HubSpot] Optimise CRM rematching on delete hubspot accounts/contacts - Jira","depth":4,"bounds":{"left":0.0,"top":0.11731844,"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.11731844,"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":"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.0,"top":0.15003991,"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.15003991,"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.18435754,"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":"Tabs from other devices","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 history (⇧⌘H)","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":"Open bookmarks (⌘B)","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":"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.022938829,"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.017453458,"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.023105053,"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.017453458,"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.022273935,"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.017453458,"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.01861702,"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.017453458,"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.021276595,"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.017453458,"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.02144282,"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.022938829,"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.022938829,"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.022938829,"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.022938829,"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":12,"bounds":{"left":0.0,"top":0.066640064,"width":0.014461436,"height":0.012370312},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Expand","depth":12,"bounds":{"left":0.025099734,"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":14,"bounds":{"left":0.0,"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":16,"bounds":{"left":0.0,"top":0.10734238,"width":0.010638298,"height":0.012370312},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Errors & Outages","depth":14,"bounds":{"left":0.0,"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":16,"bounds":{"left":0.0,"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":14,"bounds":{"left":0.0,"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":16,"bounds":{"left":0.0,"top":0.17438148,"width":0.037898935,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Warnings","depth":14,"bounds":{"left":0.0,"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":16,"bounds":{"left":0.0,"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":14,"bounds":{"left":0.0,"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":16,"bounds":{"left":0.0,"top":0.22865124,"width":0.032081116,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Autofix","depth":12,"bounds":{"left":0.0,"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":15,"bounds":{"left":0.0,"top":0.26855546,"width":0.016289894,"height":0.012370312},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"Recently Run","depth":14,"bounds":{"left":0.0,"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":16,"bounds":{"left":0.0,"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":14,"bounds":{"left":0.0,"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":16,"bounds":{"left":0.0,"top":0.3339984,"width":0.019281914,"height":0.012370312},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Configure","depth":13,"bounds":{"left":0.0,"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":14,"bounds":{"left":0.0,"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":16,"bounds":{"left":0.0,"top":0.3990423,"width":0.012799202,"height":0.012370312},"on_screen":false,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Moved","depth":16,"bounds":{"left":0.016954787,"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.046043884,"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.046043884,"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.06648936,"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.07446808,"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.4348404,"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.44614363,"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.47406915,"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.48404256,"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,"bounds":{"left":0.046043884,"top":0.10295291,"width":0.15359043,"height":0.017557861},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"View events","depth":13,"bounds":{"left":0.4409907,"top":0.10654429,"width":0.026097074,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"link","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Events (total)","depth":14,"bounds":{"left":0.4409907,"top":0.10654429,"width":0.026097074,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Users (90d)","depth":13,"bounds":{"left":0.47240692,"top":0.10654429,"width":0.022273935,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Level: Error","depth":15,"bounds":{"left":0.045711435,"top":0.12490024,"width":0.02443484,"height":0.012370312},"on_screen":true,"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\":\"019e1522-8 (truncated...)","depth":14,"bounds":{"left":0.049035903,"top":0.12490024,"width":0.5561835,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"17K","depth":13,"bounds":{"left":0.45678192,"top":0.12210695,"width":0.010305851,"height":0.017557861},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0","depth":13,"bounds":{"left":0.49052528,"top":0.12210695,"width":0.004155585,"height":0.017557861},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Ongoing","depth":14,"bounds":{"left":0.046043884,"top":0.14046289,"width":0.018118352,"height":0.012370312},"on_screen":true,"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,"bounds":{"left":0.0709774,"top":0.14046289,"width":0.3726729,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Resolve","depth":12,"bounds":{"left":0.046043884,"top":0.16719872,"width":0.02543218,"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":"Resolve","depth":14,"bounds":{"left":0.050033245,"top":0.17238627,"width":0.017453458,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"More resolve options","depth":12,"bounds":{"left":0.07114362,"top":0.16719872,"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":"Archive","depth":12,"bounds":{"left":0.0831117,"top":0.16719872,"width":0.025265958,"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":"Archive","depth":14,"bounds":{"left":0.087101065,"top":0.17238627,"width":0.017287234,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Archive options","depth":12,"bounds":{"left":0.10804521,"top":0.16719872,"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":"Subscribe","depth":12,"bounds":{"left":0.1200133,"top":0.16719872,"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":"Share","depth":12,"bounds":{"left":0.13198139,"top":0.16719872,"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":"More Actions","depth":12,"bounds":{"left":0.14394946,"top":0.16719872,"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":"Priority","depth":12,"bounds":{"left":0.3984375,"top":0.17398244,"width":0.015957447,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Modify issue priority","depth":12,"bounds":{"left":0.41572472,"top":0.17039107,"width":0.013962766,"height":0.01915403},"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":"High","depth":17,"bounds":{"left":0.42270613,"top":0.18076617,"width":0.00880984,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"Assignee","depth":12,"bounds":{"left":0.43500665,"top":0.17398244,"width":0.019780586,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Modify issue assignee","depth":13,"bounds":{"left":0.45611703,"top":0.16999201,"width":0.03856383,"height":0.01915403},"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":"Lukas Kovalik","depth":17,"bounds":{"left":0.46459442,"top":0.17398244,"width":0.024767287,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXMenuButton","text":"production, production-eu","depth":13,"bounds":{"left":0.046043884,"top":0.20949721,"width":0.07363697,"height":0.028731046},"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":"production, production-eu","depth":17,"bounds":{"left":0.050033245,"top":0.21628092,"width":0.059674203,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"90D","depth":13,"bounds":{"left":0.11934841,"top":0.20949721,"width":0.023271276,"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":"AXStaticText","text":"90D","depth":17,"bounds":{"left":0.12333777,"top":0.21628092,"width":0.00930851,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXComboBox","text":"Add a search term","depth":16,"bounds":{"left":0.15591756,"top":0.21428572,"width":0.21841756,"height":0.01915403},"on_screen":true,"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,"bounds":{"left":0.15591756,"top":0.21428572,"width":0.21841756,"height":0.01915403},"on_screen":true,"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,"bounds":{"left":0.38264626,"top":0.20949721,"width":0.011968086,"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 graph series - Events","depth":12,"bounds":{"left":0.05036569,"top":0.25818038,"width":0.021276595,"height":0.035115723},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":false,"is_focused":false,"is_selected":false},{"role":"AXStaticText","text":"Events","depth":15,"bounds":{"left":0.05435505,"top":0.26256984,"width":0.013297873,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"17K","depth":15,"bounds":{"left":0.05668218,"top":0.27693537,"width":0.008643617,"height":0.01396648},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Toggle graph series - Users","depth":12,"bounds":{"left":0.05036569,"top":0.2980846,"width":0.021276595,"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":"Users","depth":15,"bounds":{"left":0.055518616,"top":0.3008779,"width":0.010970744,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"0","depth":15,"bounds":{"left":0.059175532,"top":0.31524342,"width":0.0034906915,"height":0.01396648},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"release 68% 874599","depth":12,"bounds":{"left":0.26695478,"top":0.25818038,"width":0.11702128,"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":"release","depth":14,"bounds":{"left":0.26894948,"top":0.25977653,"width":0.013962766,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"68%","depth":14,"bounds":{"left":0.34408244,"top":0.25977653,"width":0.007978723,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"874599","depth":14,"bounds":{"left":0.35339096,"top":0.25977653,"width":0.013962766,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"environment 92% production","depth":12,"bounds":{"left":0.26695478,"top":0.2725459,"width":0.11702128,"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":"environment","depth":14,"bounds":{"left":0.26894948,"top":0.273743,"width":0.024767287,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"92%","depth":14,"bounds":{"left":0.34408244,"top":0.273743,"width":0.007978723,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"production","depth":14,"bounds":{"left":0.35339096,"top":0.273743,"width":0.020279255,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"runtime 94% php 8.3.30","depth":12,"bounds":{"left":0.26695478,"top":0.2869114,"width":0.11702128,"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":"runtime","depth":14,"bounds":{"left":0.26894948,"top":0.28810853,"width":0.015292553,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"94%","depth":14,"bounds":{"left":0.34408244,"top":0.28810853,"width":0.007978723,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"php 8.3.30","depth":14,"bounds":{"left":0.35339096,"top":0.28810853,"width":0.019946808,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"runtime.name 100% php","depth":12,"bounds":{"left":0.26695478,"top":0.3008779,"width":0.11702128,"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":"runtime.name","depth":14,"bounds":{"left":0.26894948,"top":0.30247405,"width":0.027094414,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"100%","depth":14,"bounds":{"left":0.3415891,"top":0.30247405,"width":0.010472074,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"php","depth":14,"bounds":{"left":0.35339096,"top":0.30247405,"width":0.0071476065,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXLink","text":"View all tags","depth":12,"bounds":{"left":0.26894948,"top":0.31763768,"width":0.027094414,"height":0.01556265},"on_screen":true,"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.26894948,"top":0.31923383,"width":0.027094414,"height":0.012370312},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Select issue content","depth":13,"bounds":{"left":0.046043884,"top":0.34836394,"width":0.028922873,"height":0.025538707},"on_screen":true,"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.050033245,"top":0.35434955,"width":0.01761968,"height":0.01396648},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"Previous Event","depth":13,"bounds":{"left":0.22506648,"top":0.3499601,"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":"Next Event","depth":13,"bounds":{"left":0.234375,"top":0.3499601,"width":0.00930851,"height":0.022346368},"on_screen":true,"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.24601063,"top":0.3499601,"width":0.013630319,"height":0.022346368},"on_screen":true,"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.24601063,"top":0.3507582,"width":0.013630319,"height":0.022346368},"on_screen":true,"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.2486702,"top":0.3567438,"width":0.00831117,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Latest","depth":14,"bounds":{"left":0.26097074,"top":0.3499601,"width":0.017121011,"height":0.022346368},"on_screen":true,"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.26097074,"top":0.3507582,"width":0.017121011,"height":0.022346368},"on_screen":true,"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.26363033,"top":0.3567438,"width":0.011801862,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXRadioButton","text":"Recommended","depth":14,"bounds":{"left":0.27942154,"top":0.3499601,"width":0.033410903,"height":0.022346368},"on_screen":true,"help_text":"","role_description":"tab","subrole":"AXTabButton","is_enabled":true,"is_focused":false,"is_selected":true},{"role":"AXStaticText","text":"Recommended","depth":17,"bounds":{"left":0.28208113,"top":0.3567438,"width":0.028091755,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"View More Events","depth":13,"bounds":{"left":0.31416222,"top":0.3499601,"width":0.0390625,"height":0.022346368},"on_screen":true,"help_text":"","role_description":"button","subrole":"AXUnknown","is_enabled":true,"is_focused":false,"is_selected":false}]...
|
-7429878613291946677
|
-2356157467112590118
|
visual_change
|
accessibility
|
NULL
|
New Tab
Close tab
Jy 20820 es reindex stream model New Tab
Close tab
Jy 20820 es reindex stream model hydration by Vasil-Jiminny · Pull Request #12059 · jiminny/app
Close tab
[JY-20725] [HubSpot] Optimise CRM rematching on delete hubspot accounts/contacts - 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
Close tab
New Tab
Open Google Gemini (⌃X)
Tabs from other devices
Open history (⇧⌘H)
Open bookmarks (⌘B)
Customize sidebar
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":"019e1522-8 (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
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 94% php 8.3.30
runtime
94%
php 8.3.30
runtime.name 100% php
runtime.name
100%
php
View all tags
View all tags
Select issue content
Events
Previous Event
Next Event
First
First
First
Latest
Latest
Latest
Recommended
Recommended
View More Events...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
17646
|
NULL
|
0
|
2026-05-11T10:27:05.591999+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778495225591_m2.jpg...
|
Firefox
|
Screenpipe — Archive — Personal
|
1
|
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 14:35 · PhpStorm / faVsco.js – Hubspot/Client.php
⏮ 30s
◀ 10s
⏸ Pause
10s ▶
30s ⏭
14:35
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.2942154,"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.3075133,"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.2942154,"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.3075133,"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.3956117,"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.29704124,"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.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":"Open Google Gemini (⌃X)","depth":6,"bounds":{"left":0.30801198,"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.31914893,"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.3302859,"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.3414229,"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.41456118,"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.41456118,"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.44365028,"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.48620346,"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.51163566,"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.53607047,"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.55767953,"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.5934175,"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.62383646,"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.4945146,"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.8530585,"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.87317157,"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.87898934,"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.88231385,"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.90109706,"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.49950132,"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.8558843,"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.86984706,"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.87832445,"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.8912899,"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.89727396,"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.50482047,"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.5219415,"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.539395,"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.55651593,"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.5734708,"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.5905917,"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.607879,"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.625,"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.642121,"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.65924203,"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.6765292,"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.69365025,"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.71077126,"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.7280585,"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.7453458,"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.7624667,"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.77958775,"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.79670876,"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.8138298,"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.83111703,"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.8479056,"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.86519283,"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.88248,"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.8997673,"top":0.21947326,"width":0.008144947,"height":0.008778931},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"7 May 14:35 · PhpStorm / faVsco.js – Hubspot/Client.php","depth":10,"bounds":{"left":0.49817154,"top":0.2661612,"width":0.10638298,"height":0.011971269},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXButton","text":"⏮ 30s","depth":9,"bounds":{"left":0.49883643,"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":false,"is_selected":false},{"role":"AXButton","text":"◀ 10s","depth":9,"bounds":{"left":0.52543217,"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":"⏸ Pause","depth":9,"bounds":{"left":0.5505319,"top":0.7186752,"width":0.027925532,"height":0.02434158},"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.58111703,"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.60605055,"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":"14:35","depth":10,"bounds":{"left":0.8992686,"top":0.7254589,"width":0.009807181,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"},{"role":"AXStaticText","text":"iTerm2","depth":9,"bounds":{"left":0.49950132,"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.51961434,"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.5397274,"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.5696476,"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.58892953,"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.62732714,"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.65292555,"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.6715425,"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.70545214,"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.7258976,"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.7436835,"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.7624667,"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.7844083,"top":0.7609737,"width":0.033909574,"height":0.010774142},"on_screen":true,"help_text":"","role_description":"text","subrole":"AXUnknown"}]...
|
-66168583637717302
|
2761749088790479769
|
visual_change
|
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 14:35 · PhpStorm / faVsco.js – Hubspot/Client.php
⏮ 30s
◀ 10s
⏸ Pause
10s ▶
30s ⏭
14:35
iTerm2
Firefox
CleanShot X
Finder
QuickTime Player
PhpStorm
Music
Control Centre
Claude
Slack
Alfred
Raycast
System Information...
|
17645
|
NULL
|
NULL
|
NULL
|
|
17642
|
NULL
|
0
|
2026-05-11T10:26:59.542129+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778495219542_m1.jpg...
|
Firefox
|
Screenpipe — Archive — Personal
|
1
|
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...
|
[{"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"}]...
|
-2757756957780795621
|
2828468424973322137
|
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...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
17610
|
NULL
|
0
|
2026-05-11T10:26:06.493219+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778495166493_m1.jpg...
|
Firefox
|
Screenpipe — Archive — Personal
|
1
|
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 14:00 · Claude / Claude
⏮ 30s
◀ 10s
⏸ Pause
10s ▶
30s ⏭
14:00
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 14:00 · Claude / Claude","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":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":"⏸ Pause","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":true,"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":"14:00","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"}]...
|
2382527684494617361
|
-6394913379119233127
|
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 14:00 · Claude / Claude
⏮ 30s
◀ 10s
⏸ Pause
10s ▶
30s ⏭
14:00
iTerm2
Firefox
CleanShot X
Finder
QuickTime Player
PhpStorm
Music
Control Centre
Claude
Slack
Alfred
Raycast
System Information...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
17591
|
NULL
|
0
|
2026-05-11T10:25:50.684442+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778495150684_m2.jpg...
|
Firefox
|
Screenpipe — Archive — Personal
|
1
|
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 13:18 · PhpStorm / faVsco.js – Middleware/RateLimited.php
⏮ 30s
◀ 10s
▶ Play
10s ▶
30s ⏭
13:18
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 13:18 · PhpStorm / faVsco.js – Middleware/RateLimited.php","depth":10,"bounds":{"left":0.49517953,"top":0.2661612,"width":0.12283909,"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":false,"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":"13:18","depth":10,"bounds":{"left":0.8969415,"top":0.7254589,"width":0.009142287,"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"}]...
|
-1857786453566190578
|
2864779925387051929
|
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 13:18 · PhpStorm / faVsco.js – Middleware/RateLimited.php
⏮ 30s
◀ 10s
▶ Play
10s ▶
30s ⏭
13:18
iTerm2
Firefox
CleanShot X
Finder
QuickTime Player
PhpStorm
Music
Control Centre
Claude
Slack
Alfred
Raycast
System Information...
|
17589
|
NULL
|
NULL
|
NULL
|
|
17402
|
NULL
|
0
|
2026-05-11T10:21:51.095521+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778494911095_m1.jpg...
|
PhpStorm
|
faVsco.js – Client.php
|
1
|
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
3
68
3
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Services\Crm\Hubspot;
use HubSpot\Client\Crm\Deals\ApiException as DealApiException;
use HubSpot\Client\Crm\Contacts\ApiException as ContactApiException;
use HubSpot\Client\Crm\Companies\ApiException as CompanyApiException;
use HubSpot\Client\Crm\Contacts\Model\SimplePublicObjectWithAssociations as ContactsWithAssociations;
use HubSpot\Client\Crm\Companies\Model\SimplePublicObjectWithAssociations as CompaniesWithAssociations;
use HubSpot\Client\Crm\Deals\Model\SimplePublicObjectWithAssociations as DealWithAssociations;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectInput;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectWithAssociations as ObjectWithAssociations;
use HubSpot\Client\Crm\Pipelines\Model\Error;
use HubSpot\Client\Crm\Pipelines\Model\PipelineStage;
use HubSpot\Client\Crm\Properties\Model\Property;
use HubSpot\Discovery\Discovery;
use Jiminny\Exceptions\CrmException;
use Jiminny\Exceptions\RateLimitException;
use Jiminny\Exceptions\SocialAccountTokenInvalidException;
use Jiminny\Jobs\Crm\NoteObject;
use Jiminny\Models\Crm\Field;
use Jiminny\Services\Crm\BaseClient;
use Jiminny\Services\Crm\Hubspot\DTO\Response\Owner;
use Jiminny\Services\SocialAccountService;
use SevenShores\Hubspot\Exceptions\BadRequest;
use SevenShores\Hubspot\Exceptions\HubspotException;
use SevenShores\Hubspot\Factory;
use SevenShores\Hubspot\Http\Response;
use Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService;
use Illuminate\Support\Facades\Redis;
use Throwable;
/**
* @phpstan-type 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)
{
$cacheKey = $this->getRateLimitCacheKey();
$cachedRetryAfter = Redis::get($cacheKey);
if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {
throw new RateLimitException(
'Hubspot rate limit (cached circuit-breaker)',
(int) $cachedRetryAfter,
);
}
try {
return $apiCall();
} catch (Throwable $e) {
if ($this->isHubspotRateLimit($e)) {
$retryAfter = $this->parseRetryAfter($e);
Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);
$this->log->warning('[Hubspot] Received 429 from API', [
'team_id' => $this->config->team_id,
'config_id' => $this->config->getId(),
'retry_after' => $retryAfter,
'policy' => $this->parsePolicy($e),
'reason' => $e->getMessage(),
]);
throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);
}
throw $e;
}
}
private function getRateLimitCacheKey(): string
{
return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());
}
public function isHubspotRateLimit(Throwable $e): bool
{
if ($e instanceof BadRequest
|| $e instanceof DealApiException
|| $e instanceof ContactApiException
|| $e instanceof CompanyApiException
|| $e instanceof \GuzzleHttp\Exception\RequestException
) {
return (int) $e->getCode() === 429;
}
return false;
}
public function parseRetryAfter(Throwable $e): int
{
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$e ' . PHP_EOL . print_r($e, true));
return 10;
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;
}
}
$policy = $this->parsePolicy($e);
if ($policy === 'TEN_SECONDLY_ROLLING') {
return 10;
}
if ($policy === 'SECONDLY') {
return 1;
}
if ($policy === 'DAILY_LIMIT') {
return 600;
}
$this->log->warning('[Hubspot] No retry-after header or policy name found, using default', [
'exception_class' => get_class($e),
]);
return 10;
}
public function parsePolicy(Throwable $e): ?string
{
if (! method_exists($e, 'getResponseBody')) {
return null;
}
$body = $e->getResponseBody();
if (is_string($body)) {
$body = json_decode($body, true) ?? [];
}
if (! is_array($body)) {
return null;
}
$policy = $body['policyName'] ?? $body['policy'] ?? $body['context']['policyName'] ?? null;
return is_string($policy) ? strtoupper($policy) : null;
}
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
);
}
/**
* Execute a search request against HubSpot CRM objects with rate limiting.
*
* @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')
* @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.
* @return array The search response with 'results', 'total', 'paging' keys
* @throws RateLimitException When rate limit is hit
* @throws HubspotException On API errors
*/
public function search(string $objectType, array $payload): array
{
$endpoint = self::BASE_URL . "/crm/v3/objects/{$objectType}/search";
return $this->executeRequest(function () use ($endpoint, $payload) {
$response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);
return $response->toArray();
});
}
/**
* @throws DealApiException
* @throws CrmException
*/
public function getOpportunityById(string $crmId, array $fields): array
{
try {
// $deal = $this->executeRequest(fn () => $this->getNewInstance()->crm()->deals()->basicApi()->getById(
$deal = $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') {
return $this->getInstance()->getClient()?->request(
method: $method,
endpoint: $endpoint,
query_string: $queryString
);
} else {
return $this->getInstance()->getClient()->request($method, $endpoint, [
'json' => ($payload),
]);
}
}
/**
* @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 (RateLimitException $e) {
// throw $e;
} 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);
}
}
Show Replace Field
Search History
Received 429 from API
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/5
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Sync Changes
Hide This Notification
Code changed:
Hide
399
Previous Highlighted Error
Next Highlighted Error
[2026-05-11 10:17:03] 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":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:03] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":615092} {"correlation_id":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:03] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":615092,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:03] 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":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:03] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:03] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:03] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:03] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:03] local.INFO: [Prospect match] Cache miss, calling the API {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:03] 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":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:03] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.WARNING: [Hubspot] No retry-after header or policy name found, using default {"exception_class":"SevenShores\\Hubspot\\Exceptions\\BadRequest"} {"correlation_id":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.WARNING: [Hubspot] Received 429 from API {"team_id":2,"config_id":2,"retry_after":10,"policy":null,"reason":"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\":\"019e168a-5 (truncated...)
"} {"correlation_id":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":10,"delay":14} {"correlation_id":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] 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":"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614436} {"correlation_id":"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614436,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] 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":"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":10,"delay":14} {"correlation_id":"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] 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":"78f847cf-6495-4054-b3d4-e179a133bd42","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614382} {"correlation_id":"78f847cf-6495-4054-b3d4-e179a133bd42","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614382,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"78f847cf-6495-4054-b3d4-e179a133bd42","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] 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":"78f847cf-6495-4054-b3d4-e179a133bd42","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"78f847cf-6495-4054-b3d4-e179a133bd42","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"78f847cf-6495-4054-b3d4-e179a133bd42","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"78f847cf-6495-4054-b3d4-e179a133bd42","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"78f847cf-6495-4054-b3d4-e179a133bd42","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"78f847cf-6495-4054-b3d4-e179a133bd42","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"78f847cf-6495-4054-b3d4-e179a133bd42","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":10,"delay":11} {"correlation_id":"78f847cf-6495-4054-b3d4-e179a133bd42","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] 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":"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614381} {"correlation_id":"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614381,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] 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":"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":10,"delay":11} {"correlation_id":"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [MatchActivityCrmData] Starting CRM data matching {"activity":614378,"remote_search":true,"set_configuration":2,"old_state":{"lead_id":null,"contact_id":6167,"account_id":null,"opportunity_id":null,"stage_id":null}} {"correlation_id":"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614378} {"correlation_id":"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614378,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] 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":6167,"lead_id":null},{"id":1002625,"user_id":89,"contact_id":null,"lead_id":null}]} ...
|
[{"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":"3","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"68","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","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\\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\\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 Illuminate\\Support\\Facades\\Redis;\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\n public function __construct(\n SocialAccountService $socialAccountService,\n HubspotPaginationService $paginationService,\n HubspotTokenManager $tokenManager\n ) {\n parent::__construct($socialAccountService);\n $this->paginationService = $paginationService;\n $this->tokenManager = $tokenManager;\n\n $this->setBaseUrl(self::BASE_URL);\n $this->setVersion(self::MIN_API_VERSION);\n }\n\n /**\n * Reacts to a rate limits (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 $cacheKey = $this->getRateLimitCacheKey();\n\n $cachedRetryAfter = Redis::get($cacheKey);\n if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {\n throw new RateLimitException(\n 'Hubspot rate limit (cached circuit-breaker)',\n (int) $cachedRetryAfter,\n );\n }\n\n try {\n return $apiCall();\n } catch (Throwable $e) {\n if ($this->isHubspotRateLimit($e)) {\n $retryAfter = $this->parseRetryAfter($e);\n\n Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);\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 'policy' => $this->parsePolicy($e),\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 getRateLimitCacheKey(): string\n {\n return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());\n }\n\n public function isHubspotRateLimit(Throwable $e): bool\n {\n if ($e instanceof BadRequest\n || $e instanceof DealApiException\n || $e instanceof ContactApiException\n || $e instanceof CompanyApiException\n || $e instanceof \\GuzzleHttp\\Exception\\RequestException\n ) {\n return (int) $e->getCode() === 429;\n }\n\n return false;\n }\n\n public function parseRetryAfter(Throwable $e): int\n {\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$e ' . PHP_EOL . print_r($e, true));\n return 10;\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 $policy = $this->parsePolicy($e);\n if ($policy === 'TEN_SECONDLY_ROLLING') {\n return 10;\n }\n if ($policy === 'SECONDLY') {\n return 1;\n }\n if ($policy === 'DAILY_LIMIT') {\n return 600;\n }\n\n $this->log->warning('[Hubspot] No retry-after header or policy name found, using default', [\n 'exception_class' => get_class($e),\n ]);\n\n return 10;\n }\n\n public function parsePolicy(Throwable $e): ?string\n {\n if (! method_exists($e, 'getResponseBody')) {\n return null;\n }\n\n $body = $e->getResponseBody();\n if (is_string($body)) {\n $body = json_decode($body, true) ?? [];\n }\n\n if (! is_array($body)) {\n return null;\n }\n\n $policy = $body['policyName'] ?? $body['policy'] ?? $body['context']['policyName'] ?? null;\n\n return is_string($policy) ? strtoupper($policy) : null;\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 * Execute a search request against HubSpot CRM objects with rate limiting.\n *\n * @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')\n * @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.\n * @return array The search response with 'results', 'total', 'paging' keys\n * @throws RateLimitException When rate limit is hit\n * @throws HubspotException On API errors\n */\n public function search(string $objectType, array $payload): array\n {\n $endpoint = self::BASE_URL . \"/crm/v3/objects/{$objectType}/search\";\n\n return $this->executeRequest(function () use ($endpoint, $payload) {\n $response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);\n\n return $response->toArray();\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 $deal = $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 return $this->getInstance()->getClient()?->request(\n method: $method,\n endpoint: $endpoint,\n query_string: $queryString\n );\n } else {\n return $this->getInstance()->getClient()->request($method, $endpoint, [\n 'json' => ($payload),\n ]);\n }\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 (RateLimitException $e) {\n// throw $e;\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\\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 Illuminate\\Support\\Facades\\Redis;\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\n public function __construct(\n SocialAccountService $socialAccountService,\n HubspotPaginationService $paginationService,\n HubspotTokenManager $tokenManager\n ) {\n parent::__construct($socialAccountService);\n $this->paginationService = $paginationService;\n $this->tokenManager = $tokenManager;\n\n $this->setBaseUrl(self::BASE_URL);\n $this->setVersion(self::MIN_API_VERSION);\n }\n\n /**\n * Reacts to a rate limits (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 $cacheKey = $this->getRateLimitCacheKey();\n\n $cachedRetryAfter = Redis::get($cacheKey);\n if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {\n throw new RateLimitException(\n 'Hubspot rate limit (cached circuit-breaker)',\n (int) $cachedRetryAfter,\n );\n }\n\n try {\n return $apiCall();\n } catch (Throwable $e) {\n if ($this->isHubspotRateLimit($e)) {\n $retryAfter = $this->parseRetryAfter($e);\n\n Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);\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 'policy' => $this->parsePolicy($e),\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 getRateLimitCacheKey(): string\n {\n return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());\n }\n\n public function isHubspotRateLimit(Throwable $e): bool\n {\n if ($e instanceof BadRequest\n || $e instanceof DealApiException\n || $e instanceof ContactApiException\n || $e instanceof CompanyApiException\n || $e instanceof \\GuzzleHttp\\Exception\\RequestException\n ) {\n return (int) $e->getCode() === 429;\n }\n\n return false;\n }\n\n public function parseRetryAfter(Throwable $e): int\n {\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$e ' . PHP_EOL . print_r($e, true));\n return 10;\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 $policy = $this->parsePolicy($e);\n if ($policy === 'TEN_SECONDLY_ROLLING') {\n return 10;\n }\n if ($policy === 'SECONDLY') {\n return 1;\n }\n if ($policy === 'DAILY_LIMIT') {\n return 600;\n }\n\n $this->log->warning('[Hubspot] No retry-after header or policy name found, using default', [\n 'exception_class' => get_class($e),\n ]);\n\n return 10;\n }\n\n public function parsePolicy(Throwable $e): ?string\n {\n if (! method_exists($e, 'getResponseBody')) {\n return null;\n }\n\n $body = $e->getResponseBody();\n if (is_string($body)) {\n $body = json_decode($body, true) ?? [];\n }\n\n if (! is_array($body)) {\n return null;\n }\n\n $policy = $body['policyName'] ?? $body['policy'] ?? $body['context']['policyName'] ?? null;\n\n return is_string($policy) ? strtoupper($policy) : null;\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 * Execute a search request against HubSpot CRM objects with rate limiting.\n *\n * @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')\n * @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.\n * @return array The search response with 'results', 'total', 'paging' keys\n * @throws RateLimitException When rate limit is hit\n * @throws HubspotException On API errors\n */\n public function search(string $objectType, array $payload): array\n {\n $endpoint = self::BASE_URL . \"/crm/v3/objects/{$objectType}/search\";\n\n return $this->executeRequest(function () use ($endpoint, $payload) {\n $response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);\n\n return $response->toArray();\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 $deal = $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 return $this->getInstance()->getClient()?->request(\n method: $method,\n endpoint: $endpoint,\n query_string: $queryString\n );\n } else {\n return $this->getInstance()->getClient()->request($method, $endpoint, [\n 'json' => ($payload),\n ]);\n }\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 (RateLimitException $e) {\n// throw $e;\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":"AXButton","text":"Show Replace Field","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Search History","depth":3,"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"Received 429 from API","depth":4,"on_screen":true,"value":"Received 429 from API","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"New Line","depth":3,"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Match Case","depth":3,"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Words","depth":3,"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Regex","depth":3,"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Replace History","depth":3,"bounds":{"left":0.0,"top":0.0,"width":0.015277778,"height":0.024444444},"on_screen":false,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextField","text":"Replace","depth":4,"on_screen":false,"role_description":"text field","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"New Line","depth":3,"bounds":{"left":0.0,"top":0.0,"width":0.015277778,"height":0.024444444},"on_screen":false,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Preserve case","depth":3,"bounds":{"left":0.0,"top":0.0,"width":0.015277778,"height":0.024444444},"on_screen":false,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"1/5","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Occurrence","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Occurrence","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Filter Search Results","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open in Window, Multiple Cursors","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Click to highlight","depth":4,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","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":"399","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:17:03] 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\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:03] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"correlation_id\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:03] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:03] 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\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:03] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:03] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:03] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:03] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:03] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:03] 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\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:03] 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\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.WARNING: [Hubspot] No retry-after header or policy name found, using default {\"exception_class\":\"SevenShores\\\\Hubspot\\\\Exceptions\\\\BadRequest\"} {\"correlation_id\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":10,\"policy\":null,\"reason\":\"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\\\":\\\"019e168a-5 (truncated...)\n\"} {\"correlation_id\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"correlation_id\":\"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"78f847cf-6495-4054-b3d4-e179a133bd42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"correlation_id\":\"78f847cf-6495-4054-b3d4-e179a133bd42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"78f847cf-6495-4054-b3d4-e179a133bd42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"78f847cf-6495-4054-b3d4-e179a133bd42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"78f847cf-6495-4054-b3d4-e179a133bd42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"78f847cf-6495-4054-b3d4-e179a133bd42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"78f847cf-6495-4054-b3d4-e179a133bd42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"78f847cf-6495-4054-b3d4-e179a133bd42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"78f847cf-6495-4054-b3d4-e179a133bd42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"78f847cf-6495-4054-b3d4-e179a133bd42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"78f847cf-6495-4054-b3d4-e179a133bd42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"correlation_id\":\"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":614378,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":6167,\"account_id\":null,\"opportunity_id\":null,\"stage_id\":null}} {\"correlation_id\":\"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"correlation_id\":\"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":6167,\"lead_id\":null},{\"id\":1002625,\"user_id\":89,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613840,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613840} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613840,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":261} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":299} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613840,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613840} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613840,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613833,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613833} {\"correlation_id\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613833,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613833,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613833} {\"correlation_id\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613833,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613827,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613827} {\"correlation_id\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613827,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613827,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613827} {\"correlation_id\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613827,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613826,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613826} {\"correlation_id\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613826,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613826,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613826} {\"correlation_id\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613826,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613820,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613820} {\"correlation_id\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613820,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613820,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613820} {\"correlation_id\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613820,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613818,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613818} {\"correlation_id\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613818,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613818,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613818} {\"correlation_id\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613818,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613812,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613812} {\"correlation_id\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613812,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613812,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613812} {\"correlation_id\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613812,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613807,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4484,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613807} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613807,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":4484,\"lead_id\":null}]} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":243,\"contact_id\":4484,\"owner_id\":253} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":243,\"contact_id\":4484} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":243,\"contact_id\":4484,\"opportunity_id\":276} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"tsvetomir.banovski@gmail.com\"} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613807,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613807} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613807,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613806,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613806} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613806,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":253} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":244,\"contact_id\":4487} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":350} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613806,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613806} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613806,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613805,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613805} {\"correlation_id\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613805,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613805,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613805} {\"correlation_id\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613805,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613698,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613698} {\"correlation_id\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613698,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613698,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613698} {\"correlation_id\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613698,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613697,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613697} {\"correlation_id\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613697,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613697,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613697} {\"correlation_id\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613697,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613696,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613696} {\"correlation_id\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613696,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613696,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613696} {\"correlation_id\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613696,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613695,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613695} {\"correlation_id\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613695,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613695,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613695} {\"correlation_id\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613695,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613694,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613694} {\"correlation_id\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613694,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613694,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613694} {\"correlation_id\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613694,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613157,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613157} {\"correlation_id\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613157,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613157,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613157} {\"correlation_id\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613157,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613156,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613156} {\"correlation_id\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613156,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613156,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613156} {\"correlation_id\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613156,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613155,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613155} {\"correlation_id\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613155,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613155,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613155} {\"correlation_id\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613155,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613130,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613130} {\"correlation_id\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613130,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613130,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613130} {\"correlation_id\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613130,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":165,\"stage_id\":89}} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612924} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612924,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":69,\"contact_id\":97,\"owner_id\":19} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":69,\"contact_id\":97,\"opportunity_id\":165} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612924,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612924} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612924,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":165,\"stage_id\":89}} {\"correlation_id\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612923} {\"correlation_id\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612923,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612923,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612923} {\"correlation_id\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612923,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":165,\"stage_id\":89}} {\"correlation_id\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612922} {\"correlation_id\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612922,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612922,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612922} {\"correlation_id\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612922,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612847,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"e1add09a-4136-4471-aaab-635ce3913944\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"correlation_id\":\"e1add09a-4136-4471-aaab-635ce3913944\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e1add09a-4136-4471-aaab-635ce3913944\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612847,\"participants\":[{\"id\":1000130,\"user_id\":null,\"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\":\"e1add09a-4136-4471-aaab-635ce3913944\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e1add09a-4136-4471-aaab-635ce3913944\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e1add09a-4136-4471-aaab-635ce3913944\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e1add09a-4136-4471-aaab-635ce3913944\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e1add09a-4136-4471-aaab-635ce3913944\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"e1add09a-4136-4471-aaab-635ce3913944\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"e1add09a-4136-4471-aaab-635ce3913944\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"e1add09a-4136-4471-aaab-635ce3913944\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"e1add09a-4136-4471-aaab-635ce3913944\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612822,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612822} {\"correlation_id\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612822,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612822,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612822} {\"correlation_id\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612822,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612819,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"correlation_id\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":null,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612673,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612673} {\"correlation_id\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612673,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612673,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612673} {\"correlation_id\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612673,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612642,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612642} {\"correlation_id\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612642,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612642,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612642} {\"correlation_id\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612642,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612598} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612598,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":243,\"contact_id\":4491,\"owner_id\":206} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":243,\"contact_id\":4491} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":243,\"contact_id\":4491,\"opportunity_id\":276} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612598,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612598} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612598,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612597} {\"correlation_id\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612597,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612597,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612597} {\"correlation_id\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612597,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612596} {\"correlation_id\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612596,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612596,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612596} {\"correlation_id\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612596,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612595} {\"correlation_id\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612595,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612595,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612595} {\"correlation_id\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612595,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612594} {\"correlation_id\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612594,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612594,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612594} {\"correlation_id\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612594,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612593} {\"correlation_id\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612593,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612593,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612593} {\"correlation_id\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612593,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612592} {\"correlation_id\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612592,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"4a8732a4-99b7-41d1-b7b2-eca5b5e48e29\",\"trace_id\":\"61c44eed-65c5-4e52-a175-3bee690af53c\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612592,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612592} {\"correlation_id\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612592,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ScheduleBotCommand] Number of activities to be captured: 0 {\"correlation_id\":\"4a8732a4-99b7-41d1-b7b2-eca5b5e48e29\",\"trace_id\":\"61c44eed-65c5-4e52-a175-3bee690af53c\"}\n[2026-05-11 10:17:07] 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\":\"4a8732a4-99b7-41d1-b7b2-eca5b5e48e29\",\"trace_id\":\"61c44eed-65c5-4e52-a175-3bee690af53c\"}\n[2026-05-11 10:17:07] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612591} {\"correlation_id\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612591,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612591,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612591} {\"correlation_id\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612591,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612590} {\"correlation_id\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612590,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612590,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612590} {\"correlation_id\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612590,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612589} {\"correlation_id\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612589,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612589,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612589} {\"correlation_id\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612589,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612588} {\"correlation_id\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612588,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612588,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612588} {\"correlation_id\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612588,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612587} {\"correlation_id\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612587,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612587,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612587} {\"correlation_id\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612587,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612586} {\"correlation_id\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612586,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612586,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612586} {\"correlation_id\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612586,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612585} {\"correlation_id\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612585,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612585,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612585} {\"correlation_id\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612585,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612584} {\"correlation_id\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612584,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612584,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612584} {\"correlation_id\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612584,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612583} {\"correlation_id\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612583,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612583,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612583} {\"correlation_id\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612583,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612582} {\"correlation_id\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612582,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612582,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612582} {\"correlation_id\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612582,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612581} {\"correlation_id\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612581,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612581,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612581} {\"correlation_id\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612581,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612565} {\"correlation_id\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612565,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] 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\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] 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\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612565,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612565} {\"correlation_id\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612565,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] 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\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] 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\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612563} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612563,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] 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\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] 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\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":206} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":244,\"contact_id\":4487} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":350} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612563,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612563} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612563,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] 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\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"b3bfac4d-fb8a-4113-a07a-e949910a9e3f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612562} {\"correlation_id\":\"b3bfac4d-fb8a-4113-a07a-e949910a9e3f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612562,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b3bfac4d-fb8a-4113-a07a-e949910a9e3f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] 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\":\"b3bfac4d-fb8a-4113-a07a-e949910a9e3f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b3bfac4d-fb8a-4113-a07a-e949910a9e3f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b3bfac4d-fb8a-4113-a07a-e949910a9e3f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b3bfac4d-fb8a-4113-a07a-e949910a9e3f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b3bfac4d-fb8a-4113-a07a-e949910a9e3f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"correlation_id\":\"b3bfac4d-fb8a-4113-a07a-e949910a9e3f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] 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\":\"b3bfac4d-fb8a-4113-a07a-e949910a9e3f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] 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\":\"b3bfac4d-fb8a-4113-a07a-e949910a9e3f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":10} {\"correlation_id\":\"b3bfac4d-fb8a-4113-a07a-e949910a9e3f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612561} {\"correlation_id\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612561,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] 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\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] 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\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\"} {\"correlation_id\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:11] 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\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:11] 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\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:11] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":13} {\"correlation_id\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:12] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"55d42510-0a7f-49da-92bb-3d7d04f519e0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:12] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612560} {\"correlation_id\":\"55d42510-0a7f-49da-92bb-3d7d04f519e0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:12] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612560,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"55d42510-0a7f-49da-92bb-3d7d04f519e0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:12] 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\":\"55d42510-0a7f-49da-92bb-3d7d04f519e0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:12] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"55d42510-0a7f-49da-92bb-3d7d04f519e0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:12] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"55d42510-0a7f-49da-92bb-3d7d04f519e0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:12] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"55d42510-0a7f-49da-92bb-3d7d04f519e0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:12] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"55d42510-0a7f-49da-92bb-3d7d04f519e0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:12] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"correlation_id\":\"55d42510-0a7f-49da-92bb-3d7d04f519e0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:12] 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\":\"55d42510-0a7f-49da-92bb-3d7d04f519e0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:12] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"55d42510-0a7f-49da-92bb-3d7d04f519e0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612559} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612559,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] 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\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] 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\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":69,\"contact_id\":97,\"owner_id\":206} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":69,\"contact_id\":97} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":69,\"contact_id\":97,\"opportunity_id\":5011} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612559,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612559} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612559,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] 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\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612558} {\"correlation_id\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612558,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] 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\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] 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\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612558,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612558} {\"correlation_id\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612558,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] 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\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:15] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:15] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612557} {\"correlation_id\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:15] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612557,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:15] 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\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:16] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:16] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:16] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:16] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:16] 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\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:16] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:16] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612557,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:16] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612557} {\"correlation_id\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:16] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612557,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:16] 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\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612556} {\"correlation_id\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612556,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] 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\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] 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\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612556,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612556} {\"correlation_id\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612556,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] 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\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:18] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612555} {\"correlation_id\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:18] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612555,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:18] 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\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:18] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:18] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:18] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:18] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:18] 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\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:18] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:18] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612555,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:18] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612555} {\"correlation_id\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:18] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612555,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] 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\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":11.49,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:17:19] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612554} {\"correlation_id\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612554,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] 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\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] 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\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612554,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612554} {\"correlation_id\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612554,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] 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\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612553} {\"correlation_id\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612553,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] 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\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] 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\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612553,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612553} {\"correlation_id\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612553,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] 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\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612552} {\"correlation_id\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612552,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] 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\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] 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\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612552,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612552} {\"correlation_id\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612552,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] 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\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612551} {\"correlation_id\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612551,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] 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\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612551,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612551} {\"correlation_id\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612551,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612550} {\"correlation_id\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612550,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612550,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612550} {\"correlation_id\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612550,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612549} {\"correlation_id\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612549,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612549,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612549} {\"correlation_id\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612549,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612365,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612365} {\"correlation_id\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612365,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612365,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612365} {\"correlation_id\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612365,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612360,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612360} {\"correlation_id\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612360,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] 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\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] 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\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] local.WARNING: [Hubspot] No retry-after header or policy name found, using default {\"exception_class\":\"SevenShores\\\\Hubspot\\\\Exceptions\\\\BadRequest\"} {\"correlation_id\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":10,\"policy\":null,\"reason\":\"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\\\":\\\"019e168a-9 (truncated...)\n\"} {\"correlation_id\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":12} {\"correlation_id\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612340,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"f69192c9-9ba8-48e0-b614-996bf3dcc7d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612340} {\"correlation_id\":\"f69192c9-9ba8-48e0-b614-996bf3dcc7d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612340,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f69192c9-9ba8-48e0-b614-996bf3dcc7d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] 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\":\"f69192c9-9ba8-48e0-b614-996bf3dcc7d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f69192c9-9ba8-48e0-b614-996bf3dcc7d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f69192c9-9ba8-48e0-b614-996bf3dcc7d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f69192c9-9ba8-48e0-b614-996bf3dcc7d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f69192c9-9ba8-48e0-b614-996bf3dcc7d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"f69192c9-9ba8-48e0-b614-996bf3dcc7d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] 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\":\"f69192c9-9ba8-48e0-b614-996bf3dcc7d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"f69192c9-9ba8-48e0-b614-996bf3dcc7d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612339,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"6522d428-c400-448c-9130-a06133b21471\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612339} {\"correlation_id\":\"6522d428-c400-448c-9130-a06133b21471\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612339,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"6522d428-c400-448c-9130-a06133b21471\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] 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\":\"6522d428-c400-448c-9130-a06133b21471\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6522d428-c400-448c-9130-a06133b21471\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6522d428-c400-448c-9130-a06133b21471\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"6522d428-c400-448c-9130-a06133b21471\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"6522d428-c400-448c-9130-a06133b21471\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"6522d428-c400-448c-9130-a06133b21471\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] 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\":\"6522d428-c400-448c-9130-a06133b21471\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"6522d428-c400-448c-9130-a06133b21471\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612336,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"0588c797-4ae0-4d7b-b3ee-9706e7ef39df\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612336} {\"correlation_id\":\"0588c797-4ae0-4d7b-b3ee-9706e7ef39df\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612336,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0588c797-4ae0-4d7b-b3ee-9706e7ef39df\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] 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\":\"0588c797-4ae0-4d7b-b3ee-9706e7ef39df\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0588c797-4ae0-4d7b-b3ee-9706e7ef39df\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0588c797-4ae0-4d7b-b3ee-9706e7ef39df\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0588c797-4ae0-4d7b-b3ee-9706e7ef39df\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0588c797-4ae0-4d7b-b3ee-9706e7ef39df\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"0588c797-4ae0-4d7b-b3ee-9706e7ef39df\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] 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\":\"0588c797-4ae0-4d7b-b3ee-9706e7ef39df\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"0588c797-4ae0-4d7b-b3ee-9706e7ef39df\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612183,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612183} {\"correlation_id\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612183,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] 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\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] 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\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612183,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612183} {\"correlation_id\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612183,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] 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\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612182,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612182} {\"correlation_id\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612182,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] 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\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] 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\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612182,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612182} {\"correlation_id\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612182,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] 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\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"dialers:monitor-activities\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"86d5bdfe-cc94-41f2-94ba-422242e4e1f5\",\"trace_id\":\"659a90d1-e357-4e8c-a391-979e687c5ae4\"}\n[2026-05-11 10:17:25] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":1.26,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:17:25] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612181,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612181} {\"correlation_id\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612181,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] 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\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] 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\":\"86d5bdfe-cc94-41f2-94ba-422242e4e1f5\",\"trace_id\":\"659a90d1-e357-4e8c-a391-979e687c5ae4\"}\n[2026-05-11 10:17:25] 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\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612181,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612181} {\"correlation_id\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612181,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] 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\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612180,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612180} {\"correlation_id\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612180,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] 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\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] 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\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612180,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612180} {\"correlation_id\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612180,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] 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\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"0869934c-f4d0-46a1-8387-f2393c5bce93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611455} {\"correlation_id\":\"0869934c-f4d0-46a1-8387-f2393c5bce93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611455,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0869934c-f4d0-46a1-8387-f2393c5bce93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] 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\":\"0869934c-f4d0-46a1-8387-f2393c5bce93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0869934c-f4d0-46a1-8387-f2393c5bce93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0869934c-f4d0-46a1-8387-f2393c5bce93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0869934c-f4d0-46a1-8387-f2393c5bce93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0869934c-f4d0-46a1-8387-f2393c5bce93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"0869934c-f4d0-46a1-8387-f2393c5bce93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] 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\":\"0869934c-f4d0-46a1-8387-f2393c5bce93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] 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\":\"0869934c-f4d0-46a1-8387-f2393c5bce93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"0869934c-f4d0-46a1-8387-f2393c5bce93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"4e3d1181-634e-4ea2-8ac6-7da2a722c455\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611451} {\"correlation_id\":\"4e3d1181-634e-4ea2-8ac6-7da2a722c455\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4e3d1181-634e-4ea2-8ac6-7da2a722c455\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] 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\":\"4e3d1181-634e-4ea2-8ac6-7da2a722c455\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4e3d1181-634e-4ea2-8ac6-7da2a722c455\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4e3d1181-634e-4ea2-8ac6-7da2a722c455\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4e3d1181-634e-4ea2-8ac6-7da2a722c455\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4e3d1181-634e-4ea2-8ac6-7da2a722c455\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"4e3d1181-634e-4ea2-8ac6-7da2a722c455\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] 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\":\"4e3d1181-634e-4ea2-8ac6-7da2a722c455\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] 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\":\"4e3d1181-634e-4ea2-8ac6-7da2a722c455\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"4e3d1181-634e-4ea2-8ac6-7da2a722c455\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"bd88fcdb-25fc-4e20-bec3-36897d7c6d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611087} {\"correlation_id\":\"bd88fcdb-25fc-4e20-bec3-36897d7c6d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611087,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bd88fcdb-25fc-4e20-bec3-36897d7c6d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] 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\":\"bd88fcdb-25fc-4e20-bec3-36897d7c6d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bd88fcdb-25fc-4e20-bec3-36897d7c6d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bd88fcdb-25fc-4e20-bec3-36897d7c6d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"bd88fcdb-25fc-4e20-bec3-36897d7c6d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"bd88fcdb-25fc-4e20-bec3-36897d7c6d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"bd88fcdb-25fc-4e20-bec3-36897d7c6d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"bd88fcdb-25fc-4e20-bec3-36897d7c6d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":10} {\"correlation_id\":\"bd88fcdb-25fc-4e20-bec3-36897d7c6d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"c1d5bb08-3fac-4938-926a-3e672915d6c3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611076} {\"correlation_id\":\"c1d5bb08-3fac-4938-926a-3e672915d6c3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611076,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c1d5bb08-3fac-4938-926a-3e672915d6c3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] 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\":\"c1d5bb08-3fac-4938-926a-3e672915d6c3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c1d5bb08-3fac-4938-926a-3e672915d6c3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c1d5bb08-3fac-4938-926a-3e672915d6c3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"c1d5bb08-3fac-4938-926a-3e672915d6c3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"c1d5bb08-3fac-4938-926a-3e672915d6c3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"c1d5bb08-3fac-4938-926a-3e672915d6c3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"c1d5bb08-3fac-4938-926a-3e672915d6c3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":10} {\"correlation_id\":\"c1d5bb08-3fac-4938-926a-3e672915d6c3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"c1161db6-2192-487f-94d9-fb763ee00ea9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610935} {\"correlation_id\":\"c1161db6-2192-487f-94d9-fb763ee00ea9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610935,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c1161db6-2192-487f-94d9-fb763ee00ea9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] 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\":\"c1161db6-2192-487f-94d9-fb763ee00ea9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c1161db6-2192-487f-94d9-fb763ee00ea9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c1161db6-2192-487f-94d9-fb763ee00ea9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"c1161db6-2192-487f-94d9-fb763ee00ea9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"c1161db6-2192-487f-94d9-fb763ee00ea9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"c1161db6-2192-487f-94d9-fb763ee00ea9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"c1161db6-2192-487f-94d9-fb763ee00ea9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"c1161db6-2192-487f-94d9-fb763ee00ea9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"bd974d1f-98c3-43ec-a0ee-c373b13e5a55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610915} {\"correlation_id\":\"bd974d1f-98c3-43ec-a0ee-c373b13e5a55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610915,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bd974d1f-98c3-43ec-a0ee-c373b13e5a55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] 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\":\"bd974d1f-98c3-43ec-a0ee-c373b13e5a55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bd974d1f-98c3-43ec-a0ee-c373b13e5a55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bd974d1f-98c3-43ec-a0ee-c373b13e5a55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"bd974d1f-98c3-43ec-a0ee-c373b13e5a55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"bd974d1f-98c3-43ec-a0ee-c373b13e5a55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"bd974d1f-98c3-43ec-a0ee-c373b13e5a55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"bd974d1f-98c3-43ec-a0ee-c373b13e5a55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":13} {\"correlation_id\":\"bd974d1f-98c3-43ec-a0ee-c373b13e5a55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"6b6b45e9-7387-4b73-a6c1-1302a6e959cc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610900} {\"correlation_id\":\"6b6b45e9-7387-4b73-a6c1-1302a6e959cc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610900,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"6b6b45e9-7387-4b73-a6c1-1302a6e959cc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] 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\":\"6b6b45e9-7387-4b73-a6c1-1302a6e959cc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6b6b45e9-7387-4b73-a6c1-1302a6e959cc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6b6b45e9-7387-4b73-a6c1-1302a6e959cc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"6b6b45e9-7387-4b73-a6c1-1302a6e959cc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"6b6b45e9-7387-4b73-a6c1-1302a6e959cc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"6b6b45e9-7387-4b73-a6c1-1302a6e959cc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"6b6b45e9-7387-4b73-a6c1-1302a6e959cc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":10} {\"correlation_id\":\"6b6b45e9-7387-4b73-a6c1-1302a6e959cc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"3d3fbb4c-6268-4e40-bf22-931be4baeb1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610885} {\"correlation_id\":\"3d3fbb4c-6268-4e40-bf22-931be4baeb1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610885,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3d3fbb4c-6268-4e40-bf22-931be4baeb1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] 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\":\"3d3fbb4c-6268-4e40-bf22-931be4baeb1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3d3fbb4c-6268-4e40-bf22-931be4baeb1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3d3fbb4c-6268-4e40-bf22-931be4baeb1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"3d3fbb4c-6268-4e40-bf22-931be4baeb1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"3d3fbb4c-6268-4e40-bf22-931be4baeb1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"3d3fbb4c-6268-4e40-bf22-931be4baeb1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"3d3fbb4c-6268-4e40-bf22-931be4baeb1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"3d3fbb4c-6268-4e40-bf22-931be4baeb1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"75bdd542-1e62-4704-861a-810a631074bf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610878} {\"correlation_id\":\"75bdd542-1e62-4704-861a-810a631074bf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610878,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"75bdd542-1e62-4704-861a-810a631074bf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] 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\":\"75bdd542-1e62-4704-861a-810a631074bf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"75bdd542-1e62-4704-861a-810a631074bf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"75bdd542-1e62-4704-861a-810a631074bf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"75bdd542-1e62-4704-861a-810a631074bf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"75bdd542-1e62-4704-861a-810a631074bf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"75bdd542-1e62-4704-861a-810a631074bf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"75bdd542-1e62-4704-861a-810a631074bf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"75bdd542-1e62-4704-861a-810a631074bf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"923e5701-fa97-4252-a235-5cfe1a50c951\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610874} {\"correlation_id\":\"923e5701-fa97-4252-a235-5cfe1a50c951\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610874,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"923e5701-fa97-4252-a235-5cfe1a50c951\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] 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\":\"923e5701-fa97-4252-a235-5cfe1a50c951\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"923e5701-fa97-4252-a235-5cfe1a50c951\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"923e5701-fa97-4252-a235-5cfe1a50c951\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"923e5701-fa97-4252-a235-5cfe1a50c951\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"923e5701-fa97-4252-a235-5cfe1a50c951\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"923e5701-fa97-4252-a235-5cfe1a50c951\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"923e5701-fa97-4252-a235-5cfe1a50c951\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"923e5701-fa97-4252-a235-5cfe1a50c951\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:30] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"afecdc02-a4b8-431a-baee-e5f104160539\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610867} {\"correlation_id\":\"afecdc02-a4b8-431a-baee-e5f104160539\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610867,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"afecdc02-a4b8-431a-baee-e5f104160539\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:30] 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\":\"afecdc02-a4b8-431a-baee-e5f104160539\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:30] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"afecdc02-a4b8-431a-baee-e5f104160539\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:30] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"afecdc02-a4b8-431a-baee-e5f104160539\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:30] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"afecdc02-a4b8-431a-baee-e5f104160539\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:30] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"afecdc02-a4b8-431a-baee-e5f104160539\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"afecdc02-a4b8-431a-baee-e5f104160539\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"afecdc02-a4b8-431a-baee-e5f104160539\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"afecdc02-a4b8-431a-baee-e5f104160539\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"30a67f60-f844-4758-bc2c-79a6b1ec958a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610764} {\"correlation_id\":\"30a67f60-f844-4758-bc2c-79a6b1ec958a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610764,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"30a67f60-f844-4758-bc2c-79a6b1ec958a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] 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\":\"30a67f60-f844-4758-bc2c-79a6b1ec958a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"30a67f60-f844-4758-bc2c-79a6b1ec958a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"30a67f60-f844-4758-bc2c-79a6b1ec958a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"30a67f60-f844-4758-bc2c-79a6b1ec958a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"30a67f60-f844-4758-bc2c-79a6b1ec958a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"30a67f60-f844-4758-bc2c-79a6b1ec958a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"30a67f60-f844-4758-bc2c-79a6b1ec958a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":10} {\"correlation_id\":\"30a67f60-f844-4758-bc2c-79a6b1ec958a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"2989f086-0b73-4b12-b24c-8665376dcf18\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610617} {\"correlation_id\":\"2989f086-0b73-4b12-b24c-8665376dcf18\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610617,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2989f086-0b73-4b12-b24c-8665376dcf18\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] 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\":\"2989f086-0b73-4b12-b24c-8665376dcf18\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2989f086-0b73-4b12-b24c-8665376dcf18\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2989f086-0b73-4b12-b24c-8665376dcf18\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2989f086-0b73-4b12-b24c-8665376dcf18\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2989f086-0b73-4b12-b24c-8665376dcf18\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2989f086-0b73-4b12-b24c-8665376dcf18\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2989f086-0b73-4b12-b24c-8665376dcf18\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"2989f086-0b73-4b12-b24c-8665376dcf18\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.9,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:17:31] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"0c19e519-0adf-4903-a45d-44559f23151f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610539} {\"correlation_id\":\"0c19e519-0adf-4903-a45d-44559f23151f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610539,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0c19e519-0adf-4903-a45d-44559f23151f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] 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\":\"0c19e519-0adf-4903-a45d-44559f23151f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0c19e519-0adf-4903-a45d-44559f23151f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0c19e519-0adf-4903-a45d-44559f23151f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0c19e519-0adf-4903-a45d-44559f23151f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0c19e519-0adf-4903-a45d-44559f23151f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"0c19e519-0adf-4903-a45d-44559f23151f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"0c19e519-0adf-4903-a45d-44559f23151f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":10} {\"correlation_id\":\"0c19e519-0adf-4903-a45d-44559f23151f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"fc1002b7-ac5b-4080-b6fa-497070177a88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610528} {\"correlation_id\":\"fc1002b7-ac5b-4080-b6fa-497070177a88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610528,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"fc1002b7-ac5b-4080-b6fa-497070177a88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] 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\":\"fc1002b7-ac5b-4080-b6fa-497070177a88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"fc1002b7-ac5b-4080-b6fa-497070177a88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"fc1002b7-ac5b-4080-b6fa-497070177a88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"fc1002b7-ac5b-4080-b6fa-497070177a88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"fc1002b7-ac5b-4080-b6fa-497070177a88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"fc1002b7-ac5b-4080-b6fa-497070177a88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"fc1002b7-ac5b-4080-b6fa-497070177a88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"fc1002b7-ac5b-4080-b6fa-497070177a88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"738402b4-5306-4346-9286-7b1fb94db69f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610506} {\"correlation_id\":\"738402b4-5306-4346-9286-7b1fb94db69f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610506,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"738402b4-5306-4346-9286-7b1fb94db69f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] 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\":\"738402b4-5306-4346-9286-7b1fb94db69f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"738402b4-5306-4346-9286-7b1fb94db69f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"738402b4-5306-4346-9286-7b1fb94db69f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"738402b4-5306-4346-9286-7b1fb94db69f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"738402b4-5306-4346-9286-7b1fb94db69f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"738402b4-5306-4346-9286-7b1fb94db69f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"738402b4-5306-4346-9286-7b1fb94db69f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":13} {\"correlation_id\":\"738402b4-5306-4346-9286-7b1fb94db69f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610497} {\"correlation_id\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610497,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] 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\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.WARNING: [Hubspot] No retry-after header or policy name found, using default {\"exception_class\":\"SevenShores\\\\Hubspot\\\\Exceptions\\\\BadRequest\"} {\"correlation_id\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":10,\"policy\":null,\"reason\":\"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\\\":\\\"019e168a-c (truncated...)\n\"} {\"correlation_id\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":12} {\"correlation_id\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"2e2173eb-7d9e-43e9-b8e2-2c6bb1d4c684\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610490} {\"correlation_id\":\"2e2173eb-7d9e-43e9-b8e2-2c6bb1d4c684\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610490,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2e2173eb-7d9e-43e9-b8e2-2c6bb1d4c684\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] 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\":\"2e2173eb-7d9e-43e9-b8e2-2c6bb1d4c684\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2e2173eb-7d9e-43e9-b8e2-2c6bb1d4c684\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2e2173eb-7d9e-43e9-b8e2-2c6bb1d4c684\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2e2173eb-7d9e-43e9-b8e2-2c6bb1d4c684\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2e2173eb-7d9e-43e9-b8e2-2c6bb1d4c684\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2e2173eb-7d9e-43e9-b8e2-2c6bb1d4c684\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2e2173eb-7d9e-43e9-b8e2-2c6bb1d4c684\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":10} {\"correlation_id\":\"2e2173eb-7d9e-43e9-b8e2-2c6bb1d4c684\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"63a0af1c-277e-446c-9a48-9757a8d34ddc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610470} {\"correlation_id\":\"63a0af1c-277e-446c-9a48-9757a8d34ddc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610470,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"63a0af1c-277e-446c-9a48-9757a8d34ddc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] 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\":\"63a0af1c-277e-446c-9a48-9757a8d34ddc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"63a0af1c-277e-446c-9a48-9757a8d34ddc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"63a0af1c-277e-446c-9a48-9757a8d34ddc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"63a0af1c-277e-446c-9a48-9757a8d34ddc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"63a0af1c-277e-446c-9a48-9757a8d34ddc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"63a0af1c-277e-446c-9a48-9757a8d34ddc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"63a0af1c-277e-446c-9a48-9757a8d34ddc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"63a0af1c-277e-446c-9a48-9757a8d34ddc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"b324376c-1fd3-497f-b0fb-004f86f50635\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610462} {\"correlation_id\":\"b324376c-1fd3-497f-b0fb-004f86f50635\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610462,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b324376c-1fd3-497f-b0fb-004f86f50635\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] 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\":\"b324376c-1fd3-497f-b0fb-004f86f50635\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b324376c-1fd3-497f-b0fb-004f86f50635\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b324376c-1fd3-497f-b0fb-004f86f50635\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b324376c-1fd3-497f-b0fb-004f86f50635\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b324376c-1fd3-497f-b0fb-004f86f50635\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"b324376c-1fd3-497f-b0fb-004f86f50635\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"b324376c-1fd3-497f-b0fb-004f86f50635\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"b324376c-1fd3-497f-b0fb-004f86f50635\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"b2b3cc5b-60ce-4c18-bb68-76d30013357c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610451} {\"correlation_id\":\"b2b3cc5b-60ce-4c18-bb68-76d30013357c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b2b3cc5b-60ce-4c18-bb68-76d30013357c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] 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\":\"b2b3cc5b-60ce-4c18-bb68-76d30013357c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b2b3cc5b-60ce-4c18-bb68-76d30013357c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b2b3cc5b-60ce-4c18-bb68-76d30013357c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b2b3cc5b-60ce-4c18-bb68-76d30013357c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b2b3cc5b-60ce-4c18-bb68-76d30013357c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"b2b3cc5b-60ce-4c18-bb68-76d30013357c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"b2b3cc5b-60ce-4c18-bb68-76d30013357c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"b2b3cc5b-60ce-4c18-bb68-76d30013357c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"d6026499-3681-474a-85f7-3faee13605b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610438} {\"correlation_id\":\"d6026499-3681-474a-85f7-3faee13605b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610438,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d6026499-3681-474a-85f7-3faee13605b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] 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\":\"d6026499-3681-474a-85f7-3faee13605b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d6026499-3681-474a-85f7-3faee13605b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d6026499-3681-474a-85f7-3faee13605b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d6026499-3681-474a-85f7-3faee13605b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d6026499-3681-474a-85f7-3faee13605b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"d6026499-3681-474a-85f7-3faee13605b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"d6026499-3681-474a-85f7-3faee13605b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":13} {\"correlation_id\":\"d6026499-3681-474a-85f7-3faee13605b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"17b3d9a6-2eb0-49d1-8a00-c67c644885e1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610426} {\"correlation_id\":\"17b3d9a6-2eb0-49d1-8a00-c67c644885e1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610426,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"17b3d9a6-2eb0-49d1-8a00-c67c644885e1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] 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\":\"17b3d9a6-2eb0-49d1-8a00-c67c644885e1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"17b3d9a6-2eb0-49d1-8a00-c67c644885e1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"17b3d9a6-2eb0-49d1-8a00-c67c644885e1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"17b3d9a6-2eb0-49d1-8a00-c67c644885e1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"17b3d9a6-2eb0-49d1-8a00-c67c644885e1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"17b3d9a6-2eb0-49d1-8a00-c67c644885e1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"17b3d9a6-2eb0-49d1-8a00-c67c644885e1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"17b3d9a6-2eb0-49d1-8a00-c67c644885e1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"112a2c70-a5f2-4500-9726-7f560d683236\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610403} {\"correlation_id\":\"112a2c70-a5f2-4500-9726-7f560d683236\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610403,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"112a2c70-a5f2-4500-9726-7f560d683236\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] 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\":\"112a2c70-a5f2-4500-9726-7f560d683236\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"112a2c70-a5f2-4500-9726-7f560d683236\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"112a2c70-a5f2-4500-9726-7f560d683236\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"112a2c70-a5f2-4500-9726-7f560d683236\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"112a2c70-a5f2-4500-9726-7f560d683236\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"112a2c70-a5f2-4500-9726-7f560d683236\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"112a2c70-a5f2-4500-9726-7f560d683236\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"112a2c70-a5f2-4500-9726-7f560d683236\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] 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\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610400} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610400,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] 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\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] 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\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] 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\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":1460} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":244,\"contact_id\":4487} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":350} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610400,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610400} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610400,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] 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\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] 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}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6868b438-d843-4331-9862-f802e4cc4ff2\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6868b438-d843-4331-9862-f802e4cc4ff2\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6868b438-d843-4331-9862-f802e4cc4ff2\"}\n[2026-05-11 10:17:34] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6868b438-d843-4331-9862-f802e4cc4ff2\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6868b438-d843-4331-9862-f802e4cc4ff2\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6868b438-d843-4331-9862-f802e4cc4ff2\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6868b438-d843-4331-9862-f802e4cc4ff2\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6868b438-d843-4331-9862-f802e4cc4ff2\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6868b438-d843-4331-9862-f802e4cc4ff2\"}\n[2026-05-11 10:17:34] 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\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6868b438-d843-4331-9862-f802e4cc4ff2\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6868b438-d843-4331-9862-f802e4cc4ff2\"}\n[2026-05-11 10:17:34] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":10} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6868b438-d843-4331-9862-f802e4cc4ff2\"}\n[2026-05-11 10:17:34] 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}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f600c314-da4f-48ea-885b-f3b0db553881\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f600c314-da4f-48ea-885b-f3b0db553881\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f600c314-da4f-48ea-885b-f3b0db553881\"}\n[2026-05-11 10:17:34] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f600c314-da4f-48ea-885b-f3b0db553881\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f600c314-da4f-48ea-885b-f3b0db553881\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f600c314-da4f-48ea-885b-f3b0db553881\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f600c314-da4f-48ea-885b-f3b0db553881\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f600c314-da4f-48ea-885b-f3b0db553881\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f600c314-da4f-48ea-885b-f3b0db553881\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f600c314-da4f-48ea-885b-f3b0db553881\"}\n[2026-05-11 10:17:34] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":10} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f600c314-da4f-48ea-885b-f3b0db553881\"}\n[2026-05-11 10:17:34] local.NOTICE: Monitoring start {\"correlation_id\":\"2a3353ba-9883-42be-b596-9e38bd5fc160\",\"trace_id\":\"fc84fbbd-f6ab-40f6-8fdc-f023fbe3b46e\"}\n[2026-05-11 10:17:34] local.NOTICE: Monitoring end {\"correlation_id\":\"2a3353ba-9883-42be-b596-9e38bd5fc160\",\"trace_id\":\"fc84fbbd-f6ab-40f6-8fdc-f023fbe3b46e\"}\n[2026-05-11 10:17:34] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612819,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] 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\":null,\"contact_id\":null,\"lead_id\":null}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612819,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":11} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] 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}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"5b7869a5-e05c-417f-819f-12774e20bb56\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"5b7869a5-e05c-417f-819f-12774e20bb56\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"5b7869a5-e05c-417f-819f-12774e20bb56\"}\n[2026-05-11 10:17:34] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"5b7869a5-e05c-417f-819f-12774e20bb56\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"5b7869a5-e05c-417f-819f-12774e20bb56\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"5b7869a5-e05c-417f-819f-12774e20bb56\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"5b7869a5-e05c-417f-819f-12774e20bb56\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"5b7869a5-e05c-417f-819f-12774e20bb56\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"5b7869a5-e05c-417f-819f-12774e20bb56\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"5b7869a5-e05c-417f-819f-12774e20bb56\"}\n[2026-05-11 10:17:34] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":14} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"5b7869a5-e05c-417f-819f-12774e20bb56\"}\n[2026-05-11 10:17:34] 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}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72bb1bed-9270-436f-977c-a73c970415a3\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72bb1bed-9270-436f-977c-a73c970415a3\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72bb1bed-9270-436f-977c-a73c970415a3\"}\n[2026-05-11 10:17:34] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72bb1bed-9270-436f-977c-a73c970415a3\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72bb1bed-9270-436f-977c-a73c970415a3\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72bb1bed-9270-436f-977c-a73c970415a3\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72bb1bed-9270-436f-977c-a73c970415a3\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72bb1bed-9270-436f-977c-a73c970415a3\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72bb1bed-9270-436f-977c-a73c970415a3\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72bb1bed-9270-436f-977c-a73c970415a3\"}\n[2026-05-11 10:17:34] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":13} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72bb1bed-9270-436f-977c-a73c970415a3\"}\n[2026-05-11 10:17:34] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":614378,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":6167,\"account_id\":null,\"opportunity_id\":null,\"stage_id\":null}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ef02c9ff-d0fc-47cb-aeb0-e8ba837de699\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ef02c9ff-d0fc-47cb-aeb0-e8ba837de699\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ef02c9ff-d0fc-47cb-aeb0-e8ba837de699\"}\n[2026-05-11 10:17:34] 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\":6167,\"lead_id\":null},{\"id\":1002625,\"user_id\":89,\"contact_id\":null,\"lead_id\":null}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ef02c9ff-d0fc-47cb-aeb0-e8ba837de699\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ef02c9ff-d0fc-47cb-aeb0-e8ba837de699\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ef02c9ff-d0fc-47cb-aeb0-e8ba837de699\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ef02c9ff-d0fc-47cb-aeb0-e8ba837de699\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ef02c9ff-d0fc-47cb-aeb0-e8ba837de699\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ef02c9ff-d0fc-47cb-aeb0-e8ba837de699\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ef02c9ff-d0fc-47cb-aeb0-e8ba837de699\"}\n[2026-05-11 10:17:34] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":12} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ef02c9ff-d0fc-47cb-aeb0-e8ba837de699\"}\n[2026-05-11 10:17:34] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612847,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e1608ca2-4101-4e24-8c9f-29ba81ce925f\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e1608ca2-4101-4e24-8c9f-29ba81ce925f\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e1608ca2-4101-4e24-8c9f-29ba81ce925f\"}\n[2026-05-11 10:17:34] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612847,\"participants\":[{\"id\":1000130,\"user_id\":null,\"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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e1608ca2-4101-4e24-8c9f-29ba81ce925f\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e1608ca2-4101-4e24-8c9f-29ba81ce925f\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e1608ca2-4101-4e24-8c9f-29ba81ce925f\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e1608ca2-4101-4e24-8c9f-29ba81ce925f\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e1608ca2-4101-4e24-8c9f-29ba81ce925f\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e1608ca2-4101-4e24-8c9f-29ba81ce925f\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e1608ca2-4101-4e24-8c9f-29ba81ce925f\"}\n[2026-05-11 10:17:34] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":11} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e1608ca2-4101-4e24-8c9f-29ba81ce925f\"}\n[2026-05-11 10:17:34] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"40f1c570-c73a-4bea-99d1-0b405485c1eb\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612562} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"40f1c570-c73a-4bea-99d1-0b405485c1eb\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612562,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"40f1c570-c73a-4bea-99d1-0b405485c1eb\"}\n[2026-05-11 10:17:34] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"40f1c570-c73a-4bea-99d1-0b405485c1eb\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"40f1c570-c73a-4bea-99d1-0b405485c1eb\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"40f1c570-c73a-4bea-99d1-0b405485c1eb\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"40f1c570-c73a-4bea-99d1-0b405485c1eb\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"40f1c570-c73a-4bea-99d1-0b405485c1eb\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"40f1c570-c73a-4bea-99d1-0b405485c1eb\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"40f1c570-c73a-4bea-99d1-0b405485c1eb\"}\n[2026-05-11 10:17:34] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":14} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"40f1c570-c73a-4bea-99d1-0b405485c1eb\"}\n[2026-05-11 10:17:34] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6f43c701-78e8-4a90-bc73-feecc83e035c\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612560} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6f43c701-78e8-4a90-bc73-feecc83e035c\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612560,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6f43c701-78e8-4a90-bc73-feecc83e035c\"}\n[2026-05-11 10:17:34] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6f43c701-78e8-4a90-bc73-feecc83e035c\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6f43c701-78e8-4a90-bc73-feecc83e035c\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6f43c701-78e8-4a90-bc73-feecc83e035c\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6f43c701-78e8-4a90-bc73-feecc83e035c\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6f43c701-78e8-4a90-bc73-feecc83e035c\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6f43c701-78e8-4a90-bc73-feecc83e035c\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6f43c701-78e8-4a90-bc73-feecc83e035c\"}\n[2026-05-11 10:17:34] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":10} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6f43c701-78e8-4a90-bc73-feecc83e035c\"}\n[2026-05-11 10:17:34] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"714584dc-ec4b-479a-aecd-db6c109f4a6d\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612561} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"714584dc-ec4b-479a-aecd-db6c109f4a6d\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612561,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"714584dc-ec4b-479a-aecd-db6c109f4a6d\"}\n[2026-05-11 10:17:34] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"714584dc-ec4b-479a-aecd-db6c109f4a6d\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"714584dc-ec4b-479a-aecd-db6c109f4a6d\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"714584dc-ec4b-479a-aecd-db6c109f4a6d\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"714584dc-ec4b-479a-aecd-db6c109f4a6d\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"714584dc-ec4b-479a-aecd-db6c109f4a6d\"}\n[2026-05-11 10:17:34] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612561,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"714584dc-ec4b-479a-aecd-db6c109f4a6d\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"714584dc-ec4b-479a-aecd-db6c109f4a6d\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"714584dc-ec4b-479a-aecd-db6c109f4a6d\"}\n[2026-05-11 10:17:34] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":12} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"714584dc-ec4b-479a-aecd-db6c109f4a6d\"}\n[2026-05-11 10:17:34] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612340,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f7f53665-81f1-4b01-86eb-56ad96f088db\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612340} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f7f53665-81f1-4b01-86eb-56ad96f088db\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612340,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f7f53665-81f1-4b01-86eb-56ad96f088db\"}\n[2026-05-11 10:17:34] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f7f53665-81f1-4b01-86eb-56ad96f088db\"}\n[2026-05-11 10:17:35] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f7f53665-81f1-4b01-86eb-56ad96f088db\"}\n[2026-05-11 10:17:35] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f7f53665-81f1-4b01-86eb-56ad96f088db\"}\n[2026-05-11 10:17:35] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f7f53665-81f1-4b01-86eb-56ad96f088db\"}\n[2026-05-11 10:17:35] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f7f53665-81f1-4b01-86eb-56ad96f088db\"}\n[2026-05-11 10:17:35] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f7f53665-81f1-4b01-86eb-56ad96f088db\"}\n[2026-05-11 10:17:35] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612340,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f7f53665-81f1-4b01-86eb-56ad96f088db\"}\n[2026-05-11 10:17:35] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":14} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f7f53665-81f1-4b01-86eb-56ad96f088db\"}\n[2026-05-11 10:17:35] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612360,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7356be9b-68c6-4c39-9fbe-d16bafce4614\"}\n[2026-05-11 10:17:35] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612360} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7356be9b-68c6-4c39-9fbe-d16bafce4614\"}\n[2026-05-11 10:17:35] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612360,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7356be9b-68c6-4c39-9fbe-d16bafce4614\"}\n[2026-05-11 10:17:35] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7356be9b-68c6-4c39-9fbe-d16bafce4614\"}\n[2026-05-11 10:17:35] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7356be9b-68c6-4c39-9fbe-d16bafce4614\"}\n[2026-05-11 10:17:35] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7356be9b-68c6-4c39-9fbe-d16bafce4614\"}\n[2026-05-11 10:17:35] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7356be9b-68c6-4c39-9fbe-d16bafce4614\"}\n[2026-05-11 10:17:35] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7356be9b-68c6-4c39-9fbe-d16bafce4614\"}\n[2026-05-11 10:17:35] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7356be9b-68c6-4c39-9fbe-d16bafce4614\"}\n[2026-05-11 10:17:35] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612360,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7356be9b-68c6-4c39-9fbe-d16bafce4614\"}\n[2026-05-11 10:17:35] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":15} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7356be9b-68c6-4c39-9fbe-d16bafce4614\"}\n[2026-05-11 10:17:35] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612339,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb97cad3-6d10-4315-a771-a5c3a8aeeb31\"}\n[2026-05-11 10:17:35] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612339} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb97cad3-6d10-4315-a771-a5c3a8aeeb31\"}\n[2026-05-11 10:17:35] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612339,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb97cad3-6d10-4315-a771-a5c3a8aeeb31\"}\n[2026-05-11 10:17:35] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb97cad3-6d10-4315-a771-a5c3a8aeeb31\"}\n[2026-05-11 10:17:35] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb97cad3-6d10-4315-a771-a5c3a8aeeb31\"}\n[2026-05-11 10:17:35] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb97cad3-6d10-4315-a771-a5c3a8aeeb31\"}\n[2026-05-11 10:17:35] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb97cad3-6d10-4315-a771-a5c3a8aeeb31\"}\n[2026-05-11 10:17:35] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb97cad3-6d10-4315-a771-a5c3a8aeeb31\"}\n[2026-05-11 10:17:35] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb97cad3-6d10-4315-a771-a5c3a8aeeb31\"}\n[2026-05-11 10:17:35] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612339,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb97cad3-6d10-4315-a771-a5c3a8aeeb31\"}\n[2026-05-11 10:17:35] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":15} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb97cad3-6d10-4315-a771-a5c3a8aeeb31\"}\n[2026-05-11 10:17:36] 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\":\"b6a9ae37-beff-496a-820a-bcf0512308f2\",\"trace_id\":\"be38fb3e-0cfa-4c02-a66a-cc0cf8d3d54a\"}\n[2026-05-11 10:17:36] 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\":\"b6a9ae37-beff-496a-820a-bcf0512308f2\",\"trace_id\":\"be38fb3e-0cfa-4c02-a66a-cc0cf8d3d54a\"}\n[2026-05-11 10:17:37] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.49,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:17:37] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73d4c333-df67-43c5-a413-4c675a3ebc5e\"}\n[2026-05-11 10:17:37] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611451} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73d4c333-df67-43c5-a413-4c675a3ebc5e\"}\n[2026-05-11 10:17:37] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73d4c333-df67-43c5-a413-4c675a3ebc5e\"}\n[2026-05-11 10:17:37] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73d4c333-df67-43c5-a413-4c675a3ebc5e\"}\n[2026-05-11 10:17:37] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73d4c333-df67-43c5-a413-4c675a3ebc5e\"}\n[2026-05-11 10:17:37] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73d4c333-df67-43c5-a413-4c675a3ebc5e\"}\n[2026-05-11 10:17:37] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73d4c333-df67-43c5-a413-4c675a3ebc5e\"}\n[2026-05-11 10:17:37] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73d4c333-df67-43c5-a413-4c675a3ebc5e\"}\n[2026-05-11 10:17:37] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73d4c333-df67-43c5-a413-4c675a3ebc5e\"}\n[2026-05-11 10:17:37] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73d4c333-df67-43c5-a413-4c675a3ebc5e\"}\n[2026-05-11 10:17:37] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":12} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73d4c333-df67-43c5-a413-4c675a3ebc5e\"}\n[2026-05-11 10:17:37] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0c0e087e-66cf-4404-b647-530f77b3e652\"}\n[2026-05-11 10:17:37] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611087} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0c0e087e-66cf-4404-b647-530f77b3e652\"}\n[2026-05-11 10:17:37] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611087,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0c0e087e-66cf-4404-b647-530f77b3e652\"}\n[2026-05-11 10:17:37] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0c0e087e-66cf-4404-b647-530f77b3e652\"}\n[2026-05-11 10:17:37] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0c0e087e-66cf-4404-b647-530f77b3e652\"}\n[2026-05-11 10:17:37] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0c0e087e-66cf-4404-b647-530f77b3e652\"}\n[2026-05-11 10:17:37] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0c0e087e-66cf-4404-b647-530f77b3e652\"}\n[2026-05-11 10:17:37] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0c0e087e-66cf-4404-b647-530f77b3e652\"}\n[2026-05-11 10:17:37] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0c0e087e-66cf-4404-b647-530f77b3e652\"}\n[2026-05-11 10:17:37] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0c0e087e-66cf-4404-b647-530f77b3e652\"}\n[2026-05-11 10:17:37] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":14} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0c0e087e-66cf-4404-b647-530f77b3e652\"}\n[2026-05-11 10:17:37] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8ae56005-eaea-4862-83a4-4c28e0deb862\"}\n[2026-05-11 10:17:37] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611076} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8ae56005-eaea-4862-83a4-4c28e0deb862\"}\n[2026-05-11 10:17:37] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611076,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8ae56005-eaea-4862-83a4-4c28e0deb862\"}\n[2026-05-11 10:17:37] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8ae56005-eaea-4862-83a4-4c28e0deb862\"}\n[2026-05-11 10:17:37] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8ae56005-eaea-4862-83a4-4c28e0deb862\"}\n[2026-05-11 10:17:37] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8ae56005-eaea-4862-83a4-4c28e0deb862\"}\n[2026-05-11 10:17:37] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8ae56005-eaea-4862-83a4-4c28e0deb862\"}\n[2026-05-11 10:17:37] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8ae56005-eaea-4862-83a4-4c28e0deb862\"}\n[2026-05-11 10:17:37] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8ae56005-eaea-4862-83a4-4c28e0deb862\"}\n[2026-05-11 10:17:37] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8ae56005-eaea-4862-83a4-4c28e0deb862\"}\n[2026-05-11 10:17:37] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":15} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8ae56005-eaea-4862-83a4-4c28e0deb862\"}\n[2026-05-11 10:17:38] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72f691bf-4dd5-46e4-b0aa-e6d9947e244c\"}\n[2026-05-11 10:17:38] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610900} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72f691bf-4dd5-46e4-b0aa-e6d9947e244c\"}\n[2026-05-11 10:17:38] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610900,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72f691bf-4dd5-46e4-b0aa-e6d9947e244c\"}\n[2026-05-11 10:17:38] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72f691bf-4dd5-46e4-b0aa-e6d9947e244c\"}\n[2026-05-11 10:17:38] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72f691bf-4dd5-46e4-b0aa-e6d9947e244c\"}\n[2026-05-11 10:17:38] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72f691bf-4dd5-46e4-b0aa-e6d9947e244c\"}\n[2026-05-11 10:17:38] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72f691bf-4dd5-46e4-b0aa-e6d9947e244c\"}\n[2026-05-11 10:17:38] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72f691bf-4dd5-46e4-b0aa-e6d9947e244c\"}\n[2026-05-11 10:17:38] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72f691bf-4dd5-46e4-b0aa-e6d9947e244c\"}\n[2026-05-11 10:17:38] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72f691bf-4dd5-46e4-b0aa-e6d9947e244c\"}\n[2026-05-11 10:17:38] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":10} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72f691bf-4dd5-46e4-b0aa-e6d9947e244c\"}\n[2026-05-11 10:17:38] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9c039918-1cd4-4208-bd24-8e42d3efb19e\"}\n[2026-05-11 10:17:38] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610935} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9c039918-1cd4-4208-bd24-8e42d3efb19e\"}\n[2026-05-11 10:17:38] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610935,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9c039918-1cd4-4208-bd24-8e42d3efb19e\"}\n[2026-05-11 10:17:38] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9c039918-1cd4-4208-bd24-8e42d3efb19e\"}\n[2026-05-11 10:17:38] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9c039918-1cd4-4208-bd24-8e42d3efb19e\"}\n[2026-05-11 10:17:38] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9c039918-1cd4-4208-bd24-8e42d3efb19e\"}\n[2026-05-11 10:17:38] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9c039918-1cd4-4208-bd24-8e42d3efb19e\"}\n[2026-05-11 10:17:38] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9c039918-1cd4-4208-bd24-8e42d3efb19e\"}\n[2026-05-11 10:17:38] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9c039918-1cd4-4208-bd24-8e42d3efb19e\"}\n[2026-05-11 10:17:38] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9c039918-1cd4-4208-bd24-8e42d3efb19e\"}\n[2026-05-11 10:17:38] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":10} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9c039918-1cd4-4208-bd24-8e42d3efb19e\"}\n[2026-05-11 10:17:39] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:process\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"07a987cd-1db5-4796-b217-d8d2d1b6913e\",\"trace_id\":\"90eeb583-f4ef-4d3f-bf6e-2425312728c5\"}\n[2026-05-11 10:17:39] local.INFO: [EmailSchedule] STARTING batch process {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"07a987cd-1db5-4796-b217-d8d2d1b6913e\",\"trace_id\":\"90eeb583-f4ef-4d3f-bf6e-2425312728c5\"}\n[2026-05-11 10:17:39] local.INFO: [EmailSchedule] FINISHED batch process {\"host\":\"docker_lamp_1\",\"processed\":0} {\"correlation_id\":\"07a987cd-1db5-4796-b217-d8d2d1b6913e\",\"trace_id\":\"90eeb583-f4ef-4d3f-bf6e-2425312728c5\"}\n[2026-05-11 10:17:39] 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\":\"07a987cd-1db5-4796-b217-d8d2d1b6913e\",\"trace_id\":\"90eeb583-f4ef-4d3f-bf6e-2425312728c5\"}\n[2026-05-11 10:17:39] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612336,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612336} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612336,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":243,\"contact_id\":4491,\"owner_id\":206} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":243,\"contact_id\":4491} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":243,\"contact_id\":4491,\"opportunity_id\":276} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612336,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":10} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:40] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3b238a85-6f7e-44ab-8dac-2e8f132b32fe\"}\n[2026-05-11 10:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611455} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3b238a85-6f7e-44ab-8dac-2e8f132b32fe\"}\n[2026-05-11 10:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611455,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3b238a85-6f7e-44ab-8dac-2e8f132b32fe\"}\n[2026-05-11 10:17:40] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3b238a85-6f7e-44ab-8dac-2e8f132b32fe\"}\n[2026-05-11 10:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3b238a85-6f7e-44ab-8dac-2e8f132b32fe\"}\n[2026-05-11 10:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3b238a85-6f7e-44ab-8dac-2e8f132b32fe\"}\n[2026-05-11 10:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3b238a85-6f7e-44ab-8dac-2e8f132b32fe\"}\n[2026-05-11 10:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3b238a85-6f7e-44ab-8dac-2e8f132b32fe\"}\n[2026-05-11 10:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3b238a85-6f7e-44ab-8dac-2e8f132b32fe\"}\n[2026-05-11 10:17:40] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3b238a85-6f7e-44ab-8dac-2e8f132b32fe\"}\n[2026-05-11 10:17:40] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":12} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3b238a85-6f7e-44ab-8dac-2e8f132b32fe\"}\n[2026-05-11 10:17:40] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"233b41da-91f2-45fb-8a21-80d2cd24570d\"}\n[2026-05-11 10:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610878} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"233b41da-91f2-45fb-8a21-80d2cd24570d\"}\n[2026-05-11 10:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610878,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"233b41da-91f2-45fb-8a21-80d2cd24570d\"}\n[2026-05-11 10:17:40] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"233b41da-91f2-45fb-8a21-80d2cd24570d\"}\n[2026-05-11 10:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"233b41da-91f2-45fb-8a21-80d2cd24570d\"}\n[2026-05-11 10:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"233b41da-91f2-45fb-8a21-80d2cd24570d\"}\n[2026-05-11 10:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"233b41da-91f2-45fb-8a21-80d2cd24570d\"}\n[2026-05-11 10:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"233b41da-91f2-45fb-8a21-80d2cd24570d\"}\n[2026-05-11 10:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"233b41da-91f2-45fb-8a21-80d2cd24570d\"}\n[2026-05-11 10:17:40] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"233b41da-91f2-45fb-8a21-80d2cd24570d\"}\n[2026-05-11 10:17:40] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":13} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"233b41da-91f2-45fb-8a21-80d2cd24570d\"}\n[2026-05-11 10:17:41] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:create\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"e17eab55-f6ef-40c4-bcf7-0b2b4af23908\",\"trace_id\":\"fab32d53-3e12-42b6-b809-50dcad19899b\"}\n[2026-05-11 10:17:41] local.INFO: [EmailSchedule] STARTING batch create {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"e17eab55-f6ef-40c4-bcf7-0b2b4af23908\",\"trace_id\":\"fab32d53-3e12-42b6-b809-50dcad19899b\"}\n[2026-05-11 10:17:41] local.INFO: [EmailSchedule] FINISHED batch create {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"e17eab55-f6ef-40c4-bcf7-0b2b4af23908\",\"trace_id\":\"fab32d53-3e12-42b6-b809-50dcad19899b\"}\n[2026-05-11 10:17:41] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"mailbox:batch:create\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"e17eab55-f6ef-40c4-bcf7-0b2b4af23908\",\"trace_id\":\"fab32d53-3e12-42b6-b809-50dcad19899b\"}\n[2026-05-11 10:17:41] local.INFO: [Jiminny\\Jobs\\Mailbox\\CreateBatches] processed 2 inboxes and created 0 batches {\"userId\":null,\"batchSize\":30,\"maxBatches\":1000} {\"correlation_id\":\"f6431de6-0cbf-4083-96fc-d316ebac17ec\",\"trace_id\":\"fab32d53-3e12-42b6-b809-50dcad19899b\"}\n[2026-05-11 10:17:42] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ae1e1745-b1f8-4fa9-9d96-b0ec9934cbbd\"}\n[2026-05-11 10:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610539} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ae1e1745-b1f8-4fa9-9d96-b0ec9934cbbd\"}\n[2026-05-11 10:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610539,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ae1e1745-b1f8-4fa9-9d96-b0ec9934cbbd\"}\n[2026-05-11 10:17:42] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ae1e1745-b1f8-4fa9-9d96-b0ec9934cbbd\"}\n[2026-05-11 10:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ae1e1745-b1f8-4fa9-9d96-b0ec9934cbbd\"}\n[2026-05-11 10:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ae1e1745-b1f8-4fa9-9d96-b0ec9934cbbd\"}\n[2026-05-11 10:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ae1e1745-b1f8-4fa9-9d96-b0ec9934cbbd\"}\n[2026-05-11 10:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ae1e1745-b1f8-4fa9-9d96-b0ec9934cbbd\"}\n[2026-05-11 10:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ae1e1745-b1f8-4fa9-9d96-b0ec9934cbbd\"}\n[2026-05-11 10:17:42] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ae1e1745-b1f8-4fa9-9d96-b0ec9934cbbd\"}\n[2026-05-11 10:17:42] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":11} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ae1e1745-b1f8-4fa9-9d96-b0ec9934cbbd\"}\n[2026-05-11 10:17:42] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f131d63b-7da9-4a0c-b9d5-4a2d2ae772f1\"}\n[2026-05-11 10:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610915} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f131d63b-7da9-4a0c-b9d5-4a2d2ae772f1\"}\n[2026-05-11 10:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610915,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f131d63b-7da9-4a0c-b9d5-4a2d2ae772f1\"}\n[2026-05-11 10:17:42] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f131d63b-7da9-4a0c-b9d5-4a2d2ae772f1\"}\n[2026-05-11 10:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f131d63b-7da9-4a0c-b9d5-4a2d2ae772f1\"}\n[2026-05-11 10:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f131d63b-7da9-4a0c-b9d5-4a2d2ae772f1\"}\n[2026-05-11 10:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f131d63b-7da9-4a0c-b9d5-4a2d2ae772f1\"}\n[2026-05-11 10:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f131d63b-7da9-4a0c-b9d5-4a2d2ae772f1\"}\n[2026-05-11 10:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f131d63b-7da9-4a0c-b9d5-4a2d2ae772f1\"}\n[2026-05-11 10:17:42] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f131d63b-7da9-4a0c-b9d5-4a2d2ae772f1\"}\n[2026-05-11 10:17:42] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":11} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f131d63b-7da9-4a0c-b9d5-4a2d2ae772f1\"}\n[2026-05-11 10:17:42] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"93d7f7d1-3a5c-47ce-bc42-1af98a032e7b\"}\n[2026-05-11 10:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610764} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"93d7f7d1-3a5c-47ce-bc42-1af98a032e7b\"}\n[2026-05-11 10:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610764,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"93d7f7d1-3a5c-47ce-bc42-1af98a032e7b\"}\n[2026-05-11 10:17:42] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"93d7f7d1-3a5c-47ce-bc42-1af98a032e7b\"}\n[2026-05-11 10:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"93d7f7d1-3a5c-47ce-bc42-1af98a032e7b\"}\n[2026-05-11 10:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"93d7f7d1-3a5c-47ce-bc42-1af98a032e7b\"}\n[2026-05-11 10:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"93d7f7d1-3a5c-47ce-bc42-1af98a032e7b\"}\n[2026-05-11 10:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"93d7f7d1-3a5c-47ce-bc42-1af98a032e7b\"}\n[2026-05-11 10:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"93d7f7d1-3a5c-47ce-bc42-1af98a032e7b\"}\n[2026-05-11 10:17:42] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"93d7f7d1-3a5c-47ce-bc42-1af98a032e7b\"}\n[2026-05-11 10:17:42] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":15} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"93d7f7d1-3a5c-47ce-bc42-1af98a032e7b\"}\n[2026-05-11 10:17:42] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.23,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:17:43] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610490} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610490,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] local.WARNING: [Hubspot] No retry-after header or policy name found, using default {\"exception_class\":\"SevenShores\\\\Hubspot\\\\Exceptions\\\\BadRequest\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":10,\"policy\":null,\"reason\":\"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\\\":\\\"019e168a-e (truncated...)\n\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":14} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"34f22bc6-50a7-4f6e-96be-552d05a23255\"}\n[2026-05-11 10:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610528} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"34f22bc6-50a7-4f6e-96be-552d05a23255\"}\n[2026-05-11 10:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610528,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"34f22bc6-50a7-4f6e-96be-552d05a23255\"}\n[2026-05-11 10:17:43] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"34f22bc6-50a7-4f6e-96be-552d05a23255\"}\n[2026-05-11 10:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"34f22bc6-50a7-4f6e-96be-552d05a23255\"}\n[2026-05-11 10:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"34f22bc6-50a7-4f6e-96be-552d05a23255\"}\n[2026-05-11 10:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"34f22bc6-50a7-4f6e-96be-552d05a23255\"}\n[2026-05-11 10:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"34f22bc6-50a7-4f6e-96be-552d05a23255\"}\n[2026-05-11 10:17:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"34f22bc6-50a7-4f6e-96be-552d05a23255\"}\n[2026-05-11 10:17:43] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"34f22bc6-50a7-4f6e-96be-552d05a23255\"}\n[2026-05-11 10:17:43] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":11} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"34f22bc6-50a7-4f6e-96be-552d05a23255\"}\n[2026-05-11 10:17:43] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"624ce203-96d1-4009-ae4e-5b6635eff4b0\"}\n[2026-05-11 10:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610885} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"624ce203-96d1-4009-ae4e-5b6635eff4b0\"}\n[2026-05-11 10:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610885,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"624ce203-96d1-4009-ae4e-5b6635eff4b0\"}\n[2026-05-11 10:17:43] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"624ce203-96d1-4009-ae4e-5b6635eff4b0\"}\n[2026-05-11 10:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"624ce203-96d1-4009-ae4e-5b6635eff4b0\"}\n[2026-05-11 10:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"624ce203-96d1-4009-ae4e-5b6635eff4b0\"}\n[2026-05-11 10:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"624ce203-96d1-4009-ae4e-5b6635eff4b0\"}\n[2026-05-11 10:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"624ce203-96d1-4009-ae4e-5b6635eff4b0\"}\n[2026-05-11 10:17:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"624ce203-96d1-4009-ae4e-5b6635eff4b0\"}\n[2026-05-11 10:17:43] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"624ce203-96d1-4009-ae4e-5b6635eff4b0\"}\n[2026-05-11 10:17:43] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":12} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"624ce203-96d1-4009-ae4e-5b6635eff4b0\"}\n[2026-05-11 10:17:44] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"99d1cf07-a91d-4a90-8059-1fe54fb6097a\"}\n[2026-05-11 10:17:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610451} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"99d1cf07-a91d-4a90-8059-1fe54fb6097a\"}\n[2026-05-11 10:17:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"99d1cf07-a91d-4a90-8059-1fe54fb6097a\"}\n[2026-05-11 10:17:44] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"99d1cf07-a91d-4a90-8059-1fe54fb6097a\"}\n[2026-05-11 10:17:44] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"99d1cf07-a91d-4a90-8059-1fe54fb6097a\"}\n[2026-05-11 10:17:44] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"99d1cf07-a91d-4a90-8059-1fe54fb6097a\"}\n[2026-05-11 10:17:44] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"99d1cf07-a91d-4a90-8059-1fe54fb6097a\"}\n[2026-05-11 10:17:44] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"99d1cf07-a91d-4a90-8059-1fe54fb6097a\"}\n[2026-05-11 10:17:44] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"99d1cf07-a91d-4a90-8059-1fe54fb6097a\"}\n[2026-05-11 10:17:44] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"99d1cf07-a91d-4a90-8059-1fe54fb6097a\"}\n[2026-05-11 10:17:44] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":13} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"99d1cf07-a91d-4a90-8059-1fe54fb6097a\"}\n[2026-05-11 10:17:44] 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\":\"71db6557-d1a4-488a-bcaa-cefeb41f9f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"correlation_id\":\"71db6557-d1a4-488a-bcaa-cefeb41f9f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"71db6557-d1a4-488a-bcaa-cefeb41f9f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] 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\":\"71db6557-d1a4-488a-bcaa-cefeb41f9f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"71db6557-d1a4-488a-bcaa-cefeb41f9f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"71db6557-d1a4-488a-bcaa-cefeb41f9f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"71db6557-d1a4-488a-bcaa-cefeb41f9f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"71db6557-d1a4-488a-bcaa-cefeb41f9f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"71db6557-d1a4-488a-bcaa-cefeb41f9f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"71db6557-d1a4-488a-bcaa-cefeb41f9f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":13} {\"correlation_id\":\"71db6557-d1a4-488a-bcaa-cefeb41f9f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"c4fcf2aa-0846-4e80-b18b-251b2d368949\"}\n[2026-05-11 10:17:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610874} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"c4fcf2aa-0846-4e80-b18b-251b2d368949\"}\n[2026-05-11 10:17:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610874,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"c4fcf2aa-0846-4e80-b18b-251b2d368949\"}\n[2026-05-11 10:17:44] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"c4fcf2aa-0846-4e80-b18b-251b2d368949\"}\n[2026-05-11 10:17:44] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"c4fcf2aa-0846-4e80-b18b-251b2d368949\"}\n[2026-05-11 10:17:44] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"c4fcf2aa-0846-4e80-b18b-251b2d368949\"}\n[2026-05-11 10:17:44] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"c4fcf2aa-0846-4e80-b18b-251b2d368949\"}\n[2026-05-11 10:17:44] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"c4fcf2aa-0846-4e80-b18b-251b2d368949\"}\n[2026-05-11 10:17:44] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"c4fcf2aa-0846-4e80-b18b-251b2d368949\"}\n[2026-05-11 10:17:44] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"c4fcf2aa-0846-4e80-b18b-251b2d368949\"}\n[2026-05-11 10:17:44] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":10} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"c4fcf2aa-0846-4e80-b18b-251b2d368949\"}\n[2026-05-11 10:17:44] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"286a6558-1e66-4ffb-b32f-9f823a296d14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612560} {\"correlation_id\":\"286a6558-1e66-4ffb-b32f-9f823a296d14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612560,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"286a6558-1e66-4ffb-b32f-9f823a296d14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] 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\":\"286a6558-1e66-4ffb-b32f-9f823a296d14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"286a6558-1e66-4ffb-b32f-9f823a296d14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"286a6558-1e66-4ffb-b32f-9f823a296d14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"286a6558-1e66-4ffb-b32f-9f823a296d14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"286a6558-1e66-4ffb-b32f-9f823a296d14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"correlation_id\":\"286a6558-1e66-4ffb-b32f-9f823a296d14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] 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\":\"286a6558-1e66-4ffb-b32f-9f823a296d14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] 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\":\"286a6558-1e66-4ffb-b32f-9f823a296d14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"286a6558-1e66-4ffb-b32f-9f823a296d14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] 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\":\"c0afdc10-8cad-4dab-9147-5495fc19b7c4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"correlation_id\":\"c0afdc10-8cad-4dab-9147-5495fc19b7c4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c0afdc10-8cad-4dab-9147-5495fc19b7c4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] 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\":\"c0afdc10-8cad-4dab-9147-5495fc19b7c4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c0afdc10-8cad-4dab-9147-5495fc19b7c4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c0afdc10-8cad-4dab-9147-5495fc19b7c4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"c0afdc10-8cad-4dab-9147-5495fc19b7c4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"c0afdc10-8cad-4dab-9147-5495fc19b7c4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"c0afdc10-8cad-4dab-9147-5495fc19b7c4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"c0afdc10-8cad-4dab-9147-5495fc19b7c4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":12} {\"correlation_id\":\"c0afdc10-8cad-4dab-9147-5495fc19b7c4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1b88706b-8ac4-431d-8696-8f8766ecae33\"}\n[2026-05-11 10:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610867} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1b88706b-8ac4-431d-8696-8f8766ecae33\"}\n[2026-05-11 10:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610867,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1b88706b-8ac4-431d-8696-8f8766ecae33\"}\n[2026-05-11 10:17:45] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1b88706b-8ac4-431d-8696-8f8766ecae33\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1b88706b-8ac4-431d-8696-8f8766ecae33\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1b88706b-8ac4-431d-8696-8f8766ecae33\"}\n[2026-05-11 10:17:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1b88706b-8ac4-431d-8696-8f8766ecae33\"}\n[2026-05-11 10:17:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1b88706b-8ac4-431d-8696-8f8766ecae33\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1b88706b-8ac4-431d-8696-8f8766ecae33\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1b88706b-8ac4-431d-8696-8f8766ecae33\"}\n[2026-05-11 10:17:45] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":11} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1b88706b-8ac4-431d-8696-8f8766ecae33\"}\n[2026-05-11 10:17:45] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612819,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] 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\":null,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":261} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":299} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] 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\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] 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\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] 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\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612847,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"b4c629ce-833d-484c-8155-4df866fe54cf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"correlation_id\":\"b4c629ce-833d-484c-8155-4df866fe54cf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b4c629ce-833d-484c-8155-4df866fe54cf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612847,\"participants\":[{\"id\":1000130,\"user_id\":null,\"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\":\"b4c629ce-833d-484c-8155-4df866fe54cf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b4c629ce-833d-484c-8155-4df866fe54cf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b4c629ce-833d-484c-8155-4df866fe54cf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b4c629ce-833d-484c-8155-4df866fe54cf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b4c629ce-833d-484c-8155-4df866fe54cf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"b4c629ce-833d-484c-8155-4df866fe54cf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"b4c629ce-833d-484c-8155-4df866fe54cf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"b4c629ce-833d-484c-8155-4df866fe54cf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"168d2aac-7bb8-4249-b62a-e088ef05a5c3\"}\n[2026-05-11 10:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610506} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"168d2aac-7bb8-4249-b62a-e088ef05a5c3\"}\n[2026-05-11 10:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610506,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"168d2aac-7bb8-4249-b62a-e088ef05a5c3\"}\n[2026-05-11 10:17:45] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"168d2aac-7bb8-4249-b62a-e088ef05a5c3\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"168d2aac-7bb8-4249-b62a-e088ef05a5c3\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"168d2aac-7bb8-4249-b62a-e088ef05a5c3\"}\n[2026-05-11 10:17:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"168d2aac-7bb8-4249-b62a-e088ef05a5c3\"}\n[2026-05-11 10:17:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"168d2aac-7bb8-4249-b62a-e088ef05a5c3\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"168d2aac-7bb8-4249-b62a-e088ef05a5c3\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"168d2aac-7bb8-4249-b62a-e088ef05a5c3\"}\n[2026-05-11 10:17:45] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":12} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"168d2aac-7bb8-4249-b62a-e088ef05a5c3\"}\n[2026-05-11 10:17:45] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"067b89fc-5453-49ae-a3fa-5dfdb487c294\"}\n[2026-05-11 10:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610497} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"067b89fc-5453-49ae-a3fa-5dfdb487c294\"}\n[2026-05-11 10:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610497,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"067b89fc-5453-49ae-a3fa-5dfdb487c294\"}\n[2026-05-11 10:17:45] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"067b89fc-5453-49ae-a3fa-5dfdb487c294\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"067b89fc-5453-49ae-a3fa-5dfdb487c294\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"067b89fc-5453-49ae-a3fa-5dfdb487c294\"}\n[2026-05-11 10:17:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"067b89fc-5453-49ae-a3fa-5dfdb487c294\"}\n[2026-05-11 10:17:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"067b89fc-5453-49ae-a3fa-5dfdb487c294\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"067b89fc-5453-49ae-a3fa-5dfdb487c294\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"067b89fc-5453-49ae-a3fa-5dfdb487c294\"}\n[2026-05-11 10:17:45] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":10} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"067b89fc-5453-49ae-a3fa-5dfdb487c294\"}\n[2026-05-11 10:17:45] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e2d3538d-9a14-45c4-b068-84b3732061df\"}\n[2026-05-11 10:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610617} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e2d3538d-9a14-45c4-b068-84b3732061df\"}\n[2026-05-11 10:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610617,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e2d3538d-9a14-45c4-b068-84b3732061df\"}\n[2026-05-11 10:17:45] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e2d3538d-9a14-45c4-b068-84b3732061df\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e2d3538d-9a14-45c4-b068-84b3732061df\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e2d3538d-9a14-45c4-b068-84b3732061df\"}\n[2026-05-11 10:17:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e2d3538d-9a14-45c4-b068-84b3732061df\"}\n[2026-05-11 10:17:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e2d3538d-9a14-45c4-b068-84b3732061df\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e2d3538d-9a14-45c4-b068-84b3732061df\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e2d3538d-9a14-45c4-b068-84b3732061df\"}\n[2026-05-11 10:17:45] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":10} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e2d3538d-9a14-45c4-b068-84b3732061df\"}\n[2026-05-11 10:17:45] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e7285c6c-728d-4284-b885-7e9e9df72706\"}\n[2026-05-11 10:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610403} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e7285c6c-728d-4284-b885-7e9e9df72706\"}\n[2026-05-11 10:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610403,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e7285c6c-728d-4284-b885-7e9e9df72706\"}\n[2026-05-11 10:17:45] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e7285c6c-728d-4284-b885-7e9e9df72706\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e7285c6c-728d-4284-b885-7e9e9df72706\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e7285c6c-728d-4284-b885-7e9e9df72706\"}\n[2026-05-11 10:17:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e7285c6c-728d-4284-b885-7e9e9df72706\"}\n[2026-05-11 10:17:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e7285c6c-728d-4284-b885-7e9e9df72706\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e7285c6c-728d-4284-b885-7e9e9df72706\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e7285c6c-728d-4284-b885-7e9e9df72706\"}\n[2026-05-11 10:17:45] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":12} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e7285c6c-728d-4284-b885-7e9e9df72706\"}\n[2026-05-11 10:17:46] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":614378,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":6167,\"account_id\":null,\"opportunity_id\":null,\"stage_id\":null}} {\"correlation_id\":\"5463b5ad-2286-4568-8f68-76b82d8a4c54\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"correlation_id\":\"5463b5ad-2286-4568-8f68-76b82d8a4c54\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5463b5ad-2286-4568-8f68-76b82d8a4c54\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:46] 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\":6167,\"lead_id\":null},{\"id\":1002625,\"user_id\":89,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"5463b5ad-2286-4568-8f68-76b82d8a4c54\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:46] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5463b5ad-2286-4568-8f68-76b82d8a4c54\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:46] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5463b5ad-2286-4568-8f68-76b82d8a4c54\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:46] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"5463b5ad-2286-4568-8f68-76b82d8a4c54\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:46] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"5463b5ad-2286-4568-8f68-76b82d8a4c54\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"5463b5ad-2286-4568-8f68-76b82d8a4c54\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:46] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"5463b5ad-2286-4568-8f68-76b82d8a4c54\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"5463b5ad-2286-4568-8f68-76b82d8a4c54\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612561} {\"correlation_id\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612561,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] 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\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] 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\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\"} {\"correlation_id\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] 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\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] 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\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7721c535-7311-417a-b30a-1286a84e037b\"}\n[2026-05-11 10:17:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610438} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7721c535-7311-417a-b30a-1286a84e037b\"}\n[2026-05-11 10:17:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610438,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7721c535-7311-417a-b30a-1286a84e037b\"}\n[2026-05-11 10:17:47] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7721c535-7311-417a-b30a-1286a84e037b\"}\n[2026-05-11 10:17:47] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7721c535-7311-417a-b30a-1286a84e037b\"}\n[2026-05-11 10:17:47] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7721c535-7311-417a-b30a-1286a84e037b\"}\n[2026-05-11 10:17:47] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7721c535-7311-417a-b30a-1286a84e037b\"}\n[2026-05-11 10:17:47] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7721c535-7311-417a-b30a-1286a84e037b\"}\n[2026-05-11 10:17:47] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7721c535-7311-417a-b30a-1286a84e037b\"}\n[2026-05-11 10:17:47] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7721c535-7311-417a-b30a-1286a84e037b\"}\n[2026-05-11 10:17:47] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":12} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7721c535-7311-417a-b30a-1286a84e037b\"}\n[2026-05-11 10:17:47] 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\":\"e20af459-b149-4a19-8ef6-4444b4cee8f9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"correlation_id\":\"e20af459-b149-4a19-8ef6-4444b4cee8f9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e20af459-b149-4a19-8ef6-4444b4cee8f9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] 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\":\"e20af459-b149-4a19-8ef6-4444b4cee8f9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e20af459-b149-4a19-8ef6-4444b4cee8f9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e20af459-b149-4a19-8ef6-4444b4cee8f9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e20af459-b149-4a19-8ef6-4444b4cee8f9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e20af459-b149-4a19-8ef6-4444b4cee8f9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"e20af459-b149-4a19-8ef6-4444b4cee8f9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"e20af459-b149-4a19-8ef6-4444b4cee8f9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"e20af459-b149-4a19-8ef6-4444b4cee8f9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90f3fc25-e34d-4c3a-b35c-84317a633c78\"}\n[2026-05-11 10:17:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610462} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90f3fc25-e34d-4c3a-b35c-84317a633c78\"}\n[2026-05-11 10:17:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610462,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90f3fc25-e34d-4c3a-b35c-84317a633c78\"}\n[2026-05-11 10:17:47] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90f3fc25-e34d-4c3a-b35c-84317a633c78\"}\n[2026-05-11 10:17:47] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90f3fc25-e34d-4c3a-b35c-84317a633c78\"}\n[2026-05-11 10:17:47] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90f3fc25-e34d-4c3a-b35c-84317a633c78\"}\n[2026-05-11 10:17:47] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90f3fc25-e34d-4c3a-b35c-84317a633c78\"}\n[2026-05-11 10:17:47] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90f3fc25-e34d-4c3a-b35c-84317a633c78\"}\n[2026-05-11 10:17:47] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90f3fc25-e34d-4c3a-b35c-84317a633c78\"}\n[2026-05-11 10:17:47] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90f3fc25-e34d-4c3a-b35c-84317a633c78\"}\n[2026-05-11 10:17:47] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":14} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90f3fc25-e34d-4c3a-b35c-84317a633c78\"}\n[2026-05-11 10:17:47] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.21,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:17:48] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6264c9dd-ba42-4c8f-a21f-3dffeb0c31c6\"}\n[2026-05-11 10:17:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610470} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6264c9dd-ba42-4c8f-a21f-3dffeb0c31c6\"}\n[2026-05-11 10:17:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610470,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6264c9dd-ba42-4c8f-a21f-3dffeb0c31c6\"}\n[2026-05-11 10:17:48] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6264c9dd-ba42-4c8f-a21f-3dffeb0c31c6\"}\n[2026-05-11 10:17:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6264c9dd-ba42-4c8f-a21f-3dffeb0c31c6\"}\n[2026-05-11 10:17:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6264c9dd-ba42-4c8f-a21f-3dffeb0c31c6\"}\n[2026-05-11 10:17:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6264c9dd-ba42-4c8f-a21f-3dffeb0c31c6\"}\n[2026-05-11 10:17:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6264c9dd-ba42-4c8f-a21f-3dffeb0c31c6\"}\n[2026-05-11 10:17:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6264c9dd-ba42-4c8f-a21f-3dffeb0c31c6\"}\n[2026-05-11 10:17:48] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6264c9dd-ba42-4c8f-a21f-3dffeb0c31c6\"}\n[2026-05-11 10:17:48] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":12} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6264c9dd-ba42-4c8f-a21f-3dffeb0c31c6\"}\n[2026-05-11 10:17: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\":\"64b7efd5-f92f-42b8-95ba-9a9e76fbb676\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"correlation_id\":\"64b7efd5-f92f-42b8-95ba-9a9e76fbb676\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"64b7efd5-f92f-42b8-95ba-9a9e76fbb676\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17: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\":\"64b7efd5-f92f-42b8-95ba-9a9e76fbb676\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"64b7efd5-f92f-42b8-95ba-9a9e76fbb676\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"64b7efd5-f92f-42b8-95ba-9a9e76fbb676\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"64b7efd5-f92f-42b8-95ba-9a9e76fbb676\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"64b7efd5-f92f-42b8-95ba-9a9e76fbb676\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"64b7efd5-f92f-42b8-95ba-9a9e76fbb676\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"64b7efd5-f92f-42b8-95ba-9a9e76fbb676\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"64b7efd5-f92f-42b8-95ba-9a9e76fbb676\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"aa8720ba-c5e3-4d7e-a7c3-697da34a195e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612562} {\"correlation_id\":\"aa8720ba-c5e3-4d7e-a7c3-697da34a195e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612562,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"aa8720ba-c5e3-4d7e-a7c3-697da34a195e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] 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\":\"aa8720ba-c5e3-4d7e-a7c3-697da34a195e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aa8720ba-c5e3-4d7e-a7c3-697da34a195e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aa8720ba-c5e3-4d7e-a7c3-697da34a195e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"aa8720ba-c5e3-4d7e-a7c3-697da34a195e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"aa8720ba-c5e3-4d7e-a7c3-697da34a195e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"correlation_id\":\"aa8720ba-c5e3-4d7e-a7c3-697da34a195e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] 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\":\"aa8720ba-c5e3-4d7e-a7c3-697da34a195e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"aa8720ba-c5e3-4d7e-a7c3-697da34a195e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"1abedcde-ca97-4113-b4a6-60a45a16f9d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610900} {\"correlation_id\":\"1abedcde-ca97-4113-b4a6-60a45a16f9d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610900,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1abedcde-ca97-4113-b4a6-60a45a16f9d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] 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\":\"1abedcde-ca97-4113-b4a6-60a45a16f9d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1abedcde-ca97-4113-b4a6-60a45a16f9d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1abedcde-ca97-4113-b4a6-60a45a16f9d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1abedcde-ca97-4113-b4a6-60a45a16f9d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1abedcde-ca97-4113-b4a6-60a45a16f9d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"1abedcde-ca97-4113-b4a6-60a45a16f9d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"1abedcde-ca97-4113-b4a6-60a45a16f9d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":12} {\"correlation_id\":\"1abedcde-ca97-4113-b4a6-60a45a16f9d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"d4390ffe-1359-41f6-9feb-f0bfbfdafc61\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610935} {\"correlation_id\":\"d4390ffe-1359-41f6-9feb-f0bfbfdafc61\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610935,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d4390ffe-1359-41f6-9feb-f0bfbfdafc61\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] 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\":\"d4390ffe-1359-41f6-9feb-f0bfbfdafc61\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d4390ffe-1359-41f6-9feb-f0bfbfdafc61\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d4390ffe-1359-41f6-9feb-f0bfbfdafc61\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d4390ffe-1359-41f6-9feb-f0bfbfdafc61\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d4390ffe-1359-41f6-9feb-f0bfbfdafc61\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"d4390ffe-1359-41f6-9feb-f0bfbfdafc61\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"d4390ffe-1359-41f6-9feb-f0bfbfdafc61\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":12} {\"correlation_id\":\"d4390ffe-1359-41f6-9feb-f0bfbfdafc61\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"42a128d7-d841-4c03-a6c0-7b9fa918ec1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611451} {\"correlation_id\":\"42a128d7-d841-4c03-a6c0-7b9fa918ec1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"42a128d7-d841-4c03-a6c0-7b9fa918ec1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] 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\":\"42a128d7-d841-4c03-a6c0-7b9fa918ec1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"42a128d7-d841-4c03-a6c0-7b9fa918ec1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"42a128d7-d841-4c03-a6c0-7b9fa918ec1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"42a128d7-d841-4c03-a6c0-7b9fa918ec1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"42a128d7-d841-4c03-a6c0-7b9fa918ec1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"42a128d7-d841-4c03-a6c0-7b9fa918ec1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"42a128d7-d841-4c03-a6c0-7b9fa918ec1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"42a128d7-d841-4c03-a6c0-7b9fa918ec1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612340,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"68eaf196-29ca-48a3-8e46-5bf37620dd08\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612340} {\"correlation_id\":\"68eaf196-29ca-48a3-8e46-5bf37620dd08\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612340,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"68eaf196-29ca-48a3-8e46-5bf37620dd08\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] 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\":\"68eaf196-29ca-48a3-8e46-5bf37620dd08\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"68eaf196-29ca-48a3-8e46-5bf37620dd08\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"68eaf196-29ca-48a3-8e46-5bf37620dd08\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"68eaf196-29ca-48a3-8e46-5bf37620dd08\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"68eaf196-29ca-48a3-8e46-5bf37620dd08\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"68eaf196-29ca-48a3-8e46-5bf37620dd08\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] 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\":\"68eaf196-29ca-48a3-8e46-5bf37620dd08\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"68eaf196-29ca-48a3-8e46-5bf37620dd08\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f997c306-a176-4f3a-8699-d9cd083d6993\"}\n[2026-05-11 10:17:49] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610426} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f997c306-a176-4f3a-8699-d9cd083d6993\"}\n[2026-05-11 10:17:49] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610426,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f997c306-a176-4f3a-8699-d9cd083d6993\"}\n[2026-05-11 10:17:49] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f997c306-a176-4f3a-8699-d9cd083d6993\"}\n[2026-05-11 10:17:49] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f997c306-a176-4f3a-8699-d9cd083d6993\"}\n[2026-05-11 10:17:49] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f997c306-a176-4f3a-8699-d9cd083d6993\"}\n[2026-05-11 10:17:49] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f997c306-a176-4f3a-8699-d9cd083d6993\"}\n[2026-05-11 10:17:49] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f997c306-a176-4f3a-8699-d9cd083d6993\"}\n[2026-05-11 10:17:49] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f997c306-a176-4f3a-8699-d9cd083d6993\"}\n[2026-05-11 10:17:49] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f997c306-a176-4f3a-8699-d9cd083d6993\"}\n[2026-05-11 10:17:49] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":11} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f997c306-a176-4f3a-8699-d9cd083d6993\"}\n[2026-05-11 10:17:49] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612336,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"18efa24c-257e-4842-af7d-5ec20872ab02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612336} {\"correlation_id\":\"18efa24c-257e-4842-af7d-5ec20872ab02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612336,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"18efa24c-257e-4842-af7d-5ec20872ab02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] 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\":\"18efa24c-257e-4842-af7d-5ec20872ab02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"18efa24c-257e-4842-af7d-5ec20872ab02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"18efa24c-257e-4842-af7d-5ec20872ab02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"18efa24c-257e-4842-af7d-5ec20872ab02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"18efa24c-257e-4842-af7d-5ec20872ab02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"18efa24c-257e-4842-af7d-5ec20872ab02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] 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\":\"18efa24c-257e-4842-af7d-5ec20872ab02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"18efa24c-257e-4842-af7d-5ec20872ab02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612360,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"af4fe4e8-53c1-4339-8100-49dadac0f280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612360} {\"correlation_id\":\"af4fe4e8-53c1-4339-8100-49dadac0f280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612360,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"af4fe4e8-53c1-4339-8100-49dadac0f280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] 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\":\"af4fe4e8-53c1-4339-8100-49dadac0f280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"af4fe4e8-53c1-4339-8100-49dadac0f280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"af4fe4e8-53c1-4339-8100-49dadac0f280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"af4fe4e8-53c1-4339-8100-49dadac0f280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"af4fe4e8-53c1-4339-8100-49dadac0f280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"af4fe4e8-53c1-4339-8100-49dadac0f280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] 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\":\"af4fe4e8-53c1-4339-8100-49dadac0f280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":13} {\"correlation_id\":\"af4fe4e8-53c1-4339-8100-49dadac0f280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612339,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"68a001e2-a116-4b5d-b8e7-902d08ada842\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612339} {\"correlation_id\":\"68a001e2-a116-4b5d-b8e7-902d08ada842\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612339,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"68a001e2-a116-4b5d-b8e7-902d08ada842\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] 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\":\"68a001e2-a116-4b5d-b8e7-902d08ada842\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"68a001e2-a116-4b5d-b8e7-902d08ada842\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"68a001e2-a116-4b5d-b8e7-902d08ada842\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"68a001e2-a116-4b5d-b8e7-902d08ada842\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"68a001e2-a116-4b5d-b8e7-902d08ada842\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"68a001e2-a116-4b5d-b8e7-902d08ada842\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] 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\":\"68a001e2-a116-4b5d-b8e7-902d08ada842\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":13} {\"correlation_id\":\"68a001e2-a116-4b5d-b8e7-902d08ada842\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"19bb8a09-8a89-4524-bfc1-e972923a1f2b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611087} {\"correlation_id\":\"19bb8a09-8a89-4524-bfc1-e972923a1f2b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611087,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"19bb8a09-8a89-4524-bfc1-e972923a1f2b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] 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\":\"19bb8a09-8a89-4524-bfc1-e972923a1f2b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"19bb8a09-8a89-4524-bfc1-e972923a1f2b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"19bb8a09-8a89-4524-bfc1-e972923a1f2b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"19bb8a09-8a89-4524-bfc1-e972923a1f2b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"19bb8a09-8a89-4524-bfc1-e972923a1f2b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"19bb8a09-8a89-4524-bfc1-e972923a1f2b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"19bb8a09-8a89-4524-bfc1-e972923a1f2b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"19bb8a09-8a89-4524-bfc1-e972923a1f2b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"dd53be6e-a456-46da-ab7c-c2988301922f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611455} {\"correlation_id\":\"dd53be6e-a456-46da-ab7c-c2988301922f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611455,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dd53be6e-a456-46da-ab7c-c2988301922f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] 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\":\"dd53be6e-a456-46da-ab7c-c2988301922f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dd53be6e-a456-46da-ab7c-c2988301922f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dd53be6e-a456-46da-ab7c-c2988301922f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"dd53be6e-a456-46da-ab7c-c2988301922f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"dd53be6e-a456-46da-ab7c-c2988301922f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"dd53be6e-a456-46da-ab7c-c2988301922f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"dd53be6e-a456-46da-ab7c-c2988301922f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":13} {\"correlation_id\":\"dd53be6e-a456-46da-ab7c-c2988301922f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"4d0438c5-9dc4-4b93-b643-6417ac75f31a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611076} {\"correlation_id\":\"4d0438c5-9dc4-4b93-b643-6417ac75f31a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611076,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4d0438c5-9dc4-4b93-b643-6417ac75f31a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] 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\":\"4d0438c5-9dc4-4b93-b643-6417ac75f31a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4d0438c5-9dc4-4b93-b643-6417ac75f31a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4d0438c5-9dc4-4b93-b643-6417ac75f31a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4d0438c5-9dc4-4b93-b643-6417ac75f31a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4d0438c5-9dc4-4b93-b643-6417ac75f31a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"4d0438c5-9dc4-4b93-b643-6417ac75f31a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"4d0438c5-9dc4-4b93-b643-6417ac75f31a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"4d0438c5-9dc4-4b93-b643-6417ac75f31a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610539} {\"correlation_id\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610539,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] 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\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":1.19,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:17:53] local.WARNING: [Hubspot] No retry-after header or policy name found, using default {\"exception_class\":\"SevenShores\\\\Hubspot\\\\Exceptions\\\\BadRequest\"} {\"correlation_id\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":10,\"policy\":null,\"reason\":\"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\\\":\\\"019e168b-1 (truncated...)\n\"} {\"correlation_id\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"88d5107a-d1a9-4def-8f1f-6ff8bea40516\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610915} {\"correlation_id\":\"88d5107a-d1a9-4def-8f1f-6ff8bea40516\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610915,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"88d5107a-d1a9-4def-8f1f-6ff8bea40516\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] 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\":\"88d5107a-d1a9-4def-8f1f-6ff8bea40516\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"88d5107a-d1a9-4def-8f1f-6ff8bea40516\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"88d5107a-d1a9-4def-8f1f-6ff8bea40516\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"88d5107a-d1a9-4def-8f1f-6ff8bea40516\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"88d5107a-d1a9-4def-8f1f-6ff8bea40516\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"88d5107a-d1a9-4def-8f1f-6ff8bea40516\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"88d5107a-d1a9-4def-8f1f-6ff8bea40516\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":12} {\"correlation_id\":\"88d5107a-d1a9-4def-8f1f-6ff8bea40516\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"9eb70001-f31f-427d-9ecb-d42969509f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610878} {\"correlation_id\":\"9eb70001-f31f-427d-9ecb-d42969509f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610878,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9eb70001-f31f-427d-9ecb-d42969509f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] 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\":\"9eb70001-f31f-427d-9ecb-d42969509f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9eb70001-f31f-427d-9ecb-d42969509f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9eb70001-f31f-427d-9ecb-d42969509f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9eb70001-f31f-427d-9ecb-d42969509f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9eb70001-f31f-427d-9ecb-d42969509f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"9eb70001-f31f-427d-9ecb-d42969509f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"9eb70001-f31f-427d-9ecb-d42969509f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"9eb70001-f31f-427d-9ecb-d42969509f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"b291b19d-e631-4390-a8ce-49431d5f566f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610528} {\"correlation_id\":\"b291b19d-e631-4390-a8ce-49431d5f566f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610528,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b291b19d-e631-4390-a8ce-49431d5f566f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] 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\":\"b291b19d-e631-4390-a8ce-49431d5f566f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b291b19d-e631-4390-a8ce-49431d5f566f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b291b19d-e631-4390-a8ce-49431d5f566f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b291b19d-e631-4390-a8ce-49431d5f566f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b291b19d-e631-4390-a8ce-49431d5f566f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"b291b19d-e631-4390-a8ce-49431d5f566f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"b291b19d-e631-4390-a8ce-49431d5f566f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"b291b19d-e631-4390-a8ce-49431d5f566f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"4b8fb89e-a1a0-4894-81d9-5d1e86570512\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610874} {\"correlation_id\":\"4b8fb89e-a1a0-4894-81d9-5d1e86570512\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610874,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4b8fb89e-a1a0-4894-81d9-5d1e86570512\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] 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\":\"4b8fb89e-a1a0-4894-81d9-5d1e86570512\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4b8fb89e-a1a0-4894-81d9-5d1e86570512\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4b8fb89e-a1a0-4894-81d9-5d1e86570512\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4b8fb89e-a1a0-4894-81d9-5d1e86570512\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4b8fb89e-a1a0-4894-81d9-5d1e86570512\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"4b8fb89e-a1a0-4894-81d9-5d1e86570512\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"4b8fb89e-a1a0-4894-81d9-5d1e86570512\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"4b8fb89e-a1a0-4894-81d9-5d1e86570512\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"f27f33ba-8caa-49a5-9cad-cd8293e9a7db\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610497} {\"correlation_id\":\"f27f33ba-8caa-49a5-9cad-cd8293e9a7db\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610497,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f27f33ba-8caa-49a5-9cad-cd8293e9a7db\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] 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\":\"f27f33ba-8caa-49a5-9cad-cd8293e9a7db\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f27f33ba-8caa-49a5-9cad-cd8293e9a7db\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f27f33ba-8caa-49a5-9cad-cd8293e9a7db\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f27f33ba-8caa-49a5-9cad-cd8293e9a7db\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f27f33ba-8caa-49a5-9cad-cd8293e9a7db\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"f27f33ba-8caa-49a5-9cad-cd8293e9a7db\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"f27f33ba-8caa-49a5-9cad-cd8293e9a7db\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":12} {\"correlation_id\":\"f27f33ba-8caa-49a5-9cad-cd8293e9a7db\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"af6121c1-ef51-49a6-acda-bb121812831a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610617} {\"correlation_id\":\"af6121c1-ef51-49a6-acda-bb121812831a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610617,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"af6121c1-ef51-49a6-acda-bb121812831a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] 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\":\"af6121c1-ef51-49a6-acda-bb121812831a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"af6121c1-ef51-49a6-acda-bb121812831a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"af6121c1-ef51-49a6-acda-bb121812831a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"af6121c1-ef51-49a6-acda-bb121812831a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"af6121c1-ef51-49a6-acda-bb121812831a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"af6121c1-ef51-49a6-acda-bb121812831a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"af6121c1-ef51-49a6-acda-bb121812831a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"af6121c1-ef51-49a6-acda-bb121812831a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"7c89eb2a-2a39-463f-abad-6b13e5fed935\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610885} {\"correlation_id\":\"7c89eb2a-2a39-463f-abad-6b13e5fed935\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610885,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7c89eb2a-2a39-463f-abad-6b13e5fed935\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] 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\":\"7c89eb2a-2a39-463f-abad-6b13e5fed935\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7c89eb2a-2a39-463f-abad-6b13e5fed935\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7c89eb2a-2a39-463f-abad-6b13e5fed935\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"7c89eb2a-2a39-463f-abad-6b13e5fed935\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"7c89eb2a-2a39-463f-abad-6b13e5fed935\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"7c89eb2a-2a39-463f-abad-6b13e5fed935\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"7c89eb2a-2a39-463f-abad-6b13e5fed935\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":13} {\"correlation_id\":\"7c89eb2a-2a39-463f-abad-6b13e5fed935\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:56] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"9c37e4f5-1e21-4f96-86d0-2d8f2ce76d49\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:56] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610867} {\"correlation_id\":\"9c37e4f5-1e21-4f96-86d0-2d8f2ce76d49\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:56] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610867,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9c37e4f5-1e21-4f96-86d0-2d8f2ce76d49\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:56] 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\":\"9c37e4f5-1e21-4f96-86d0-2d8f2ce76d49\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:56] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9c37e4f5-1e21-4f96-86d0-2d8f2ce76d49\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:56] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9c37e4f5-1e21-4f96-86d0-2d8f2ce76d49\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:56] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9c37e4f5-1e21-4f96-86d0-2d8f2ce76d49\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:56] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9c37e4f5-1e21-4f96-86d0-2d8f2ce76d49\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:56] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"9c37e4f5-1e21-4f96-86d0-2d8f2ce76d49\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:56] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"9c37e4f5-1e21-4f96-86d0-2d8f2ce76d49\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:56] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":12} {\"correlation_id\":\"9c37e4f5-1e21-4f96-86d0-2d8f2ce76d49\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"5a0ad4cc-8cdd-4f1e-8bae-a70a2f7b7280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610490} {\"correlation_id\":\"5a0ad4cc-8cdd-4f1e-8bae-a70a2f7b7280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610490,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5a0ad4cc-8cdd-4f1e-8bae-a70a2f7b7280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] 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\":\"5a0ad4cc-8cdd-4f1e-8bae-a70a2f7b7280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5a0ad4cc-8cdd-4f1e-8bae-a70a2f7b7280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5a0ad4cc-8cdd-4f1e-8bae-a70a2f7b7280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"5a0ad4cc-8cdd-4f1e-8bae-a70a2f7b7280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"5a0ad4cc-8cdd-4f1e-8bae-a70a2f7b7280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"5a0ad4cc-8cdd-4f1e-8bae-a70a2f7b7280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] 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\":\"5a0ad4cc-8cdd-4f1e-8bae-a70a2f7b7280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] 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\":\"5a0ad4cc-8cdd-4f1e-8bae-a70a2f7b7280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"5a0ad4cc-8cdd-4f1e-8bae-a70a2f7b7280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"9884d6bc-6966-4c2b-b123-bd6bff97b920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610451} {\"correlation_id\":\"9884d6bc-6966-4c2b-b123-bd6bff97b920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9884d6bc-6966-4c2b-b123-bd6bff97b920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] 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\":\"9884d6bc-6966-4c2b-b123-bd6bff97b920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9884d6bc-6966-4c2b-b123-bd6bff97b920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9884d6bc-6966-4c2b-b123-bd6bff97b920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9884d6bc-6966-4c2b-b123-bd6bff97b920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9884d6bc-6966-4c2b-b123-bd6bff97b920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"9884d6bc-6966-4c2b-b123-bd6bff97b920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"9884d6bc-6966-4c2b-b123-bd6bff97b920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"9884d6bc-6966-4c2b-b123-bd6bff97b920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] 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}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"a7f9bc7e-977e-4032-820f-1e0b80c6214f\"}\n[2026-05-11 10:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"a7f9bc7e-977e-4032-820f-1e0b80c6214f\"}\n[2026-05-11 10:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"a7f9bc7e-977e-4032-820f-1e0b80c6214f\"}\n[2026-05-11 10:17:58] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"a7f9bc7e-977e-4032-820f-1e0b80c6214f\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"a7f9bc7e-977e-4032-820f-1e0b80c6214f\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"a7f9bc7e-977e-4032-820f-1e0b80c6214f\"}\n[2026-05-11 10:17:58] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"a7f9bc7e-977e-4032-820f-1e0b80c6214f\"}\n[2026-05-11 10:17:58] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"a7f9bc7e-977e-4032-820f-1e0b80c6214f\"}\n[2026-05-11 10:17:58] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"a7f9bc7e-977e-4032-820f-1e0b80c6214f\"}\n[2026-05-11 10:17:58] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"a7f9bc7e-977e-4032-820f-1e0b80c6214f\"}\n[2026-05-11 10:17:58] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"4674593f-9f44-4f03-8474-ff0a7926a543\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610764} {\"correlation_id\":\"4674593f-9f44-4f03-8474-ff0a7926a543\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610764,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4674593f-9f44-4f03-8474-ff0a7926a543\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] 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\":\"4674593f-9f44-4f03-8474-ff0a7926a543\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4674593f-9f44-4f03-8474-ff0a7926a543\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4674593f-9f44-4f03-8474-ff0a7926a543\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4674593f-9f44-4f03-8474-ff0a7926a543\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4674593f-9f44-4f03-8474-ff0a7926a543\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"4674593f-9f44-4f03-8474-ff0a7926a543\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"4674593f-9f44-4f03-8474-ff0a7926a543\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"4674593f-9f44-4f03-8474-ff0a7926a543\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"9c459c55-c8be-453e-9540-0477f5134f6f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610506} {\"correlation_id\":\"9c459c55-c8be-453e-9540-0477f5134f6f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610506,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9c459c55-c8be-453e-9540-0477f5134f6f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] 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\":\"9c459c55-c8be-453e-9540-0477f5134f6f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9c459c55-c8be-453e-9540-0477f5134f6f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9c459c55-c8be-453e-9540-0477f5134f6f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9c459c55-c8be-453e-9540-0477f5134f6f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9c459c55-c8be-453e-9540-0477f5134f6f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"9c459c55-c8be-453e-9540-0477f5134f6f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"9c459c55-c8be-453e-9540-0477f5134f6f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":10} {\"correlation_id\":\"9c459c55-c8be-453e-9540-0477f5134f6f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"52ae8415-fd35-4109-8db4-45893cf37c4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610403} {\"correlation_id\":\"52ae8415-fd35-4109-8db4-45893cf37c4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610403,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"52ae8415-fd35-4109-8db4-45893cf37c4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] 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\":\"52ae8415-fd35-4109-8db4-45893cf37c4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"52ae8415-fd35-4109-8db4-45893cf37c4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"52ae8415-fd35-4109-8db4-45893cf37c4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"52ae8415-fd35-4109-8db4-45893cf37c4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"52ae8415-fd35-4109-8db4-45893cf37c4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"52ae8415-fd35-4109-8db4-45893cf37c4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"52ae8415-fd35-4109-8db4-45893cf37c4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"52ae8415-fd35-4109-8db4-45893cf37c4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] 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}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3693e67e-875d-4232-a495-1621a90bf41a\"}\n[2026-05-11 10:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3693e67e-875d-4232-a495-1621a90bf41a\"}\n[2026-05-11 10:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3693e67e-875d-4232-a495-1621a90bf41a\"}\n[2026-05-11 10:17:58] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3693e67e-875d-4232-a495-1621a90bf41a\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3693e67e-875d-4232-a495-1621a90bf41a\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3693e67e-875d-4232-a495-1621a90bf41a\"}\n[2026-05-11 10:17:58] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3693e67e-875d-4232-a495-1621a90bf41a\"}\n[2026-05-11 10:17:58] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3693e67e-875d-4232-a495-1621a90bf41a\"}\n[2026-05-11 10:17:58] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3693e67e-875d-4232-a495-1621a90bf41a\"}\n[2026-05-11 10:17:58] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3693e67e-875d-4232-a495-1621a90bf41a\"}\n[2026-05-11 10:17:58] 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}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"56a279f5-3276-4781-9691-6ac712992a03\"}\n[2026-05-11 10:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"56a279f5-3276-4781-9691-6ac712992a03\"}\n[2026-05-11 10:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"56a279f5-3276-4781-9691-6ac712992a03\"}\n[2026-05-11 10:17:58] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"56a279f5-3276-4781-9691-6ac712992a03\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"56a279f5-3276-4781-9691-6ac712992a03\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"56a279f5-3276-4781-9691-6ac712992a03\"}\n[2026-05-11 10:17:58] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"56a279f5-3276-4781-9691-6ac712992a03\"}\n[2026-05-11 10:17:58] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"56a279f5-3276-4781-9691-6ac712992a03\"}\n[2026-05-11 10:17:59] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"56a279f5-3276-4781-9691-6ac712992a03\"}\n[2026-05-11 10:17:59] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"56a279f5-3276-4781-9691-6ac712992a03\"}\n[2026-05-11 10:17:59] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"2149fff4-fc50-4b5e-8346-f4fe92446383\"}\n[2026-05-11 10:17:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612562} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"2149fff4-fc50-4b5e-8346-f4fe92446383\"}\n[2026-05-11 10:17:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612562,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"2149fff4-fc50-4b5e-8346-f4fe92446383\"}\n[2026-05-11 10:17:59] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"2149fff4-fc50-4b5e-8346-f4fe92446383\"}\n[2026-05-11 10:17:59] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"2149fff4-fc50-4b5e-8346-f4fe92446383\"}\n[2026-05-11 10:17:59] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"2149fff4-fc50-4b5e-8346-f4fe92446383\"}\n[2026-05-11 10:17:59] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"2149fff4-fc50-4b5e-8346-f4fe92446383\"}\n[2026-05-11 10:17:59] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"2149fff4-fc50-4b5e-8346-f4fe92446383\"}\n[2026-05-11 10:17:59] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"2149fff4-fc50-4b5e-8346-f4fe92446383\"}\n[2026-05-11 10:17:59] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"2149fff4-fc50-4b5e-8346-f4fe92446383\"}\n[2026-05-11 10:17:59] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"6c488719-2433-44c2-be14-6234030389cb\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610438} {\"correlation_id\":\"6c488719-2433-44c2-be14-6234030389cb\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610438,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"6c488719-2433-44c2-be14-6234030389cb\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:59] 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\":\"6c488719-2433-44c2-be14-6234030389cb\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:59] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.31,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:17:59] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6c488719-2433-44c2-be14-6234030389cb\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:59] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6c488719-2433-44c2-be14-6234030389cb\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:59] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"6c488719-2433-44c2-be14-6234030389cb\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:59] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"6c488719-2433-44c2-be14-6234030389cb\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:59] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"6c488719-2433-44c2-be14-6234030389cb\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:59] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"6c488719-2433-44c2-be14-6234030389cb\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:59] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":13} {\"correlation_id\":\"6c488719-2433-44c2-be14-6234030389cb\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:00] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612819,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"af37fbba-e927-4df9-840b-3ede48a1d911\"}\n[2026-05-11 10:18:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"af37fbba-e927-4df9-840b-3ede48a1d911\"}\n[2026-05-11 10:18:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"af37fbba-e927-4df9-840b-3ede48a1d911\"}\n[2026-05-11 10:18:00] 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\":null,\"contact_id\":null,\"lead_id\":null}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"af37fbba-e927-4df9-840b-3ede48a1d911\"}\n[2026-05-11 10:18:00] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"af37fbba-e927-4df9-840b-3ede48a1d911\"}\n[2026-05-11 10:18:00] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"af37fbba-e927-4df9-840b-3ede48a1d911\"}\n[2026-05-11 10:18:00] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"af37fbba-e927-4df9-840b-3ede48a1d911\"}\n[2026-05-11 10:18:00] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"af37fbba-e927-4df9-840b-3ede48a1d911\"}\n[2026-05-11 10:18:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"af37fbba-e927-4df9-840b-3ede48a1d911\"}\n[2026-05-11 10:18:00] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612819,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"af37fbba-e927-4df9-840b-3ede48a1d911\"}\n[2026-05-11 10:18:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"af37fbba-e927-4df9-840b-3ede48a1d911\"}\n[2026-05-11 10:18:00] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"af37fbba-e927-4df9-840b-3ede48a1d911\"}\n[2026-05-11 10:18:00] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612847,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"534825cf-e6d0-42f8-8ff6-18fee9ebbcf9\"}\n[2026-05-11 10:18:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"534825cf-e6d0-42f8-8ff6-18fee9ebbcf9\"}\n[2026-05-11 10:18:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"534825cf-e6d0-42f8-8ff6-18fee9ebbcf9\"}\n[2026-05-11 10:18:00] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612847,\"participants\":[{\"id\":1000130,\"user_id\":null,\"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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"534825cf-e6d0-42f8-8ff6-18fee9ebbcf9\"}\n[2026-05-11 10:18:00] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"534825cf-e6d0-42f8-8ff6-18fee9ebbcf9\"}\n[2026-05-11 10:18:00] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"534825cf-e6d0-42f8-8ff6-18fee9ebbcf9\"}\n[2026-05-11 10:18:00] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"534825cf-e6d0-42f8-8ff6-18fee9ebbcf9\"}\n[2026-05-11 10:18:00] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"534825cf-e6d0-42f8-8ff6-18fee9ebbcf9\"}\n[2026-05-11 10:18:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"534825cf-e6d0-42f8-8ff6-18fee9ebbcf9\"}\n[2026-05-11 10:18:00] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"534825cf-e6d0-42f8-8ff6-18fee9ebbcf9\"}\n[2026-05-11 10:18:00] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"13c3f8a7-53c0-490e-915d-f30216c6fae9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610470} {\"correlation_id\":\"13c3f8a7-53c0-490e-915d-f30216c6fae9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610470,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"13c3f8a7-53c0-490e-915d-f30216c6fae9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:00] 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\":\"13c3f8a7-53c0-490e-915d-f30216c6fae9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:00] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"13c3f8a7-53c0-490e-915d-f30216c6fae9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:00] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"13c3f8a7-53c0-490e-915d-f30216c6fae9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:00] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"13c3f8a7-53c0-490e-915d-f30216c6fae9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:00] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"13c3f8a7-53c0-490e-915d-f30216c6fae9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"13c3f8a7-53c0-490e-915d-f30216c6fae9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:00] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"13c3f8a7-53c0-490e-915d-f30216c6fae9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:00] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"13c3f8a7-53c0-490e-915d-f30216c6fae9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"785d023d-231c-4c69-9e14-64b9f386cd8a\"}\n[2026-05-11 10:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610900} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"785d023d-231c-4c69-9e14-64b9f386cd8a\"}\n[2026-05-11 10:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610900,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"785d023d-231c-4c69-9e14-64b9f386cd8a\"}\n[2026-05-11 10:18:01] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"785d023d-231c-4c69-9e14-64b9f386cd8a\"}\n[2026-05-11 10:18:01] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"785d023d-231c-4c69-9e14-64b9f386cd8a\"}\n[2026-05-11 10:18:01] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"785d023d-231c-4c69-9e14-64b9f386cd8a\"}\n[2026-05-11 10:18:01] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"785d023d-231c-4c69-9e14-64b9f386cd8a\"}\n[2026-05-11 10:18:01] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"785d023d-231c-4c69-9e14-64b9f386cd8a\"}\n[2026-05-11 10:18:01] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"785d023d-231c-4c69-9e14-64b9f386cd8a\"}\n[2026-05-11 10:18:01] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"785d023d-231c-4c69-9e14-64b9f386cd8a\"}\n[2026-05-11 10:18:01] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"aea37783-669f-433b-aac7-ead252f60285\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610426} {\"correlation_id\":\"aea37783-669f-433b-aac7-ead252f60285\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610426,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"aea37783-669f-433b-aac7-ead252f60285\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] 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\":\"aea37783-669f-433b-aac7-ead252f60285\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aea37783-669f-433b-aac7-ead252f60285\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aea37783-669f-433b-aac7-ead252f60285\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"aea37783-669f-433b-aac7-ead252f60285\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"aea37783-669f-433b-aac7-ead252f60285\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"aea37783-669f-433b-aac7-ead252f60285\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"aea37783-669f-433b-aac7-ead252f60285\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":10} {\"correlation_id\":\"aea37783-669f-433b-aac7-ead252f60285\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73386989-234b-4074-93cd-b907d73fb039\"}\n[2026-05-11 10:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610935} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73386989-234b-4074-93cd-b907d73fb039\"}\n[2026-05-11 10:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610935,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73386989-234b-4074-93cd-b907d73fb039\"}\n[2026-05-11 10:18:01] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73386989-234b-4074-93cd-b907d73fb039\"}\n[2026-05-11 10:18:01] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73386989-234b-4074-93cd-b907d73fb039\"}\n[2026-05-11 10:18:01] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73386989-234b-4074-93cd-b907d73fb039\"}\n[2026-05-11 10:18:01] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73386989-234b-4074-93cd-b907d73fb039\"}\n[2026-05-11 10:18:01] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73386989-234b-4074-93cd-b907d73fb039\"}\n[2026-05-11 10:18:01] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73386989-234b-4074-93cd-b907d73fb039\"}\n[2026-05-11 10:18:01] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73386989-234b-4074-93cd-b907d73fb039\"}\n[2026-05-11 10:18:01] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"67837137-7da9-4fc3-807c-fa87dbcc5090\"}\n[2026-05-11 10:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612560} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"67837137-7da9-4fc3-807c-fa87dbcc5090\"}\n[2026-05-11 10:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612560,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"67837137-7da9-4fc3-807c-fa87dbcc5090\"}\n[2026-05-11 10:18:01] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"67837137-7da9-4fc3-807c-fa87dbcc5090\"}\n[2026-05-11 10:18:01] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"67837137-7da9-4fc3-807c-fa87dbcc5090\"}\n[2026-05-11 10:18:01] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"67837137-7da9-4fc3-807c-fa87dbcc5090\"}\n[2026-05-11 10:18:01] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"67837137-7da9-4fc3-807c-fa87dbcc5090\"}\n[2026-05-11 10:18:01] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"67837137-7da9-4fc3-807c-fa87dbcc5090\"}\n[2026-05-11 10:18:01] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"67837137-7da9-4fc3-807c-fa87dbcc5090\"}\n[2026-05-11 10:18:01] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"67837137-7da9-4fc3-807c-fa87dbcc5090\"}\n[2026-05-11 10:18:01] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1d0c22f1-5e71-452c-94ab-4a7ba39ee8be\"}\n[2026-05-11 10:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612561} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1d0c22f1-5e71-452c-94ab-4a7ba39ee8be\"}\n[2026-05-11 10:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612561,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1d0c22f1-5e71-452c-94ab-4a7ba39ee8be\"}\n[2026-05-11 10:18:01] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1d0c22f1-5e71-452c-94ab-4a7ba39ee8be\"}\n[2026-05-11 10:18:01] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1d0c22f1-5e71-452c-94ab-4a7ba39ee8be\"}\n[2026-05-11 10:18:01] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1d0c22f1-5e71-452c-94ab-4a7ba39ee8be\"}\n[2026-05-11 10:18:01] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1d0c22f1-5e71-452c-94ab-4a7ba39ee8be\"}\n[2026-05-11 10:18:01] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1d0c22f1-5e71-452c-94ab-4a7ba39ee8be\"}\n[2026-05-11 10:18:01] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612561,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1d0c22f1-5e71-452c-94ab-4a7ba39ee8be\"}\n[2026-05-11 10:18:01] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1d0c22f1-5e71-452c-94ab-4a7ba39ee8be\"}\n[2026-05-11 10:18:01] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1d0c22f1-5e71-452c-94ab-4a7ba39ee8be\"}\n[2026-05-11 10:18:01] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"5e4163ac-fdc7-49df-89de-383bf3f5bcd4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610462} {\"correlation_id\":\"5e4163ac-fdc7-49df-89de-383bf3f5bcd4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610462,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5e4163ac-fdc7-49df-89de-383bf3f5bcd4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] 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\":\"5e4163ac-fdc7-49df-89de-383bf3f5bcd4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5e4163ac-fdc7-49df-89de-383bf3f5bcd4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5e4163ac-fdc7-49df-89de-383bf3f5bcd4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"5e4163ac-fdc7-49df-89de-383bf3f5bcd4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"5e4163ac-fdc7-49df-89de-383bf3f5bcd4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"5e4163ac-fdc7-49df-89de-383bf3f5bcd4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"5e4163ac-fdc7-49df-89de-383bf3f5bcd4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":10} {\"correlation_id\":\"5e4163ac-fdc7-49df-89de-383bf3f5bcd4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:02] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":614378,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":6167,\"account_id\":null,\"opportunity_id\":null,\"stage_id\":null}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9476099f-6f93-4402-b763-b075c4f8ed44\"}\n[2026-05-11 10:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9476099f-6f93-4402-b763-b075c4f8ed44\"}\n[2026-05-11 10:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9476099f-6f93-4402-b763-b075c4f8ed44\"}\n[2026-05-11 10:18:02] 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\":6167,\"lead_id\":null},{\"id\":1002625,\"user_id\":89,\"contact_id\":null,\"lead_id\":null}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9476099f-6f93-4402-b763-b075c4f8ed44\"}\n[2026-05-11 10:18:02] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9476099f-6f93-4402-b763-b075c4f8ed44\"}\n[2026-05-11 10:18:02] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9476099f-6f93-4402-b763-b075c4f8ed44\"}\n[2026-05-11 10:18:02] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9476099f-6f93-4402-b763-b075c4f8ed44\"}\n[2026-05-11 10:18:02] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9476099f-6f93-4402-b763-b075c4f8ed44\"}\n[2026-05-11 10:18:02] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9476099f-6f93-4402-b763-b075c4f8ed44\"}\n[2026-05-11 10:18:02] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9476099f-6f93-4402-b763-b075c4f8ed44\"}\n[2026-05-11 10:18:03] 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}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7e0e12d1-b270-490b-848b-763e373c90e0\"}\n[2026-05-11 10:18:03] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7e0e12d1-b270-490b-848b-763e373c90e0\"}\n[2026-05-11 10:18:03] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7e0e12d1-b270-490b-848b-763e373c90e0\"}\n[2026-05-11 10:18:03] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7e0e12d1-b270-490b-848b-763e373c90e0\"}\n[2026-05-11 10:18:03] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7e0e12d1-b270-490b-848b-763e373c90e0\"}\n[2026-05-11 10:18:03] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7e0e12d1-b270-490b-848b-763e373c90e0\"}\n[2026-05-11 10:18:03] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7e0e12d1-b270-490b-848b-763e373c90e0\"}\n[2026-05-11 10:18:03] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7e0e12d1-b270-490b-848b-763e373c90e0\"}\n[2026-05-11 10:18:03] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7e0e12d1-b270-490b-848b-763e373c90e0\"}\n[2026-05-11 10:18:03] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7e0e12d1-b270-490b-848b-763e373c90e0\"}\n[2026-05-11 10:18: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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"adaf1f1e-8477-469f-86c9-9c59d2623f11\"}\n[2026-05-11 10:18:03] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611451} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"adaf1f1e-8477-469f-86c9-9c59d2623f11\"}\n[2026-05-11 10:18:03] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"adaf1f1e-8477-469f-86c9-9c59d2623f11\"}\n[2026-05-11 10:18: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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"adaf1f1e-8477-469f-86c9-9c59d2623f11\"}\n[2026-05-11 10:18:03] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"adaf1f1e-8477-469f-86c9-9c59d2623f11\"}\n[2026-05-11 10:18:03] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"adaf1f1e-8477-469f-86c9-9c59d2623f11\"}\n[2026-05-11 10:18:03] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"adaf1f1e-8477-469f-86c9-9c59d2623f11\"}\n[2026-05-11 10:18:03] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"adaf1f1e-8477-469f-86c9-9c59d2623f11\"}\n[2026-05-11 10:18:03] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"adaf1f1e-8477-469f-86c9-9c59d2623f11\"}\n[2026-05-11 10:18:03] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"adaf1f1e-8477-469f-86c9-9c59d2623f11\"}\n[2026-05-11 10:18:03] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612336,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1235043b-578e-49e0-9ebe-230be6d9a8f8\"}\n[2026-05-11 10:18:03] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612336} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1235043b-578e-49e0-9ebe-230be6d9a8f8\"}\n[2026-05-11 10:18:03] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612336,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1235043b-578e-49e0-9ebe-230be6d9a8f8\"}\n[2026-05-11 10:18:03] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1235043b-578e-49e0-9ebe-230be6d9a8f8\"}\n[2026-05-11 10:18:03] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1235043b-578e-49e0-9ebe-230be6d9a8f8\"}\n[2026-05-11 10:18:03] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1235043b-578e-49e0-9ebe-230be6d9a8f8\"}\n[2026-05-11 10:18:03] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1235043b-578e-49e0-9ebe-230be6d9a8f8\"}\n[2026-05-11 10:18:03] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1235043b-578e-49e0-9ebe-230be6d9a8f8\"}\n[2026-05-11 10:18:03] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1235043b-578e-49e0-9ebe-230be6d9a8f8\"}\n[2026-05-11 10:18:03] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612336,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1235043b-578e-49e0-9ebe-230be6d9a8f8\"}\n[2026-05-11 10:18:04] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610539} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610539,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:04] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:04] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:04] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:04] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:04] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.47,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:18: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.3,\"average_seconds_per_request\":0.3} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:05] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:05] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:05] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:05] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:05] 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}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18: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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:06] 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\":\"1042ef38-481f-4e55-9261-bb89ceb4cd6f\",\"trace_id\":\"3cbbfc20-36d7-4827-9e77-e5ea12d34c82\"}\n[2026-05-11 10:18:06] local.INFO: [ScheduleBotCommand] Number of activities to be captured: 0 {\"correlation_id\":\"1042ef38-481f-4e55-9261-bb89ceb4cd6f\",\"trace_id\":\"3cbbfc20-36d7-4827-9e77-e5ea12d34c82\"}\n[2026-05-11 10:18:06] 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\":\"1042ef38-481f-4e55-9261-bb89ceb4cd6f\",\"trace_id\":\"3cbbfc20-36d7-4827-9e77-e5ea12d34c82\"}\n[2026-05-11 10:18: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\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610539,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610539} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610539,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:06] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18: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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610878} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610878,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18: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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:06] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:06] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18: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\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610878,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610878} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610878,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:07] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:07] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612340,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612340} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612340,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612340,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] 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.25,\"average_seconds_per_request\":0.25} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] 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.48,\"average_seconds_per_request\":0.48} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612340,\"participants_processed\":4,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612340} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612340,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:08] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612360,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612360} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612360,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612360,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612360,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612360} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612360,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612339,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612339} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612339,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612339,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612339,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612339} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612339,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611455} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611455,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:08] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:08] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:08] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:08] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:08] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:08] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:08] 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\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:08] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:09] 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.66,\"average_seconds_per_request\":0.66} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:09] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:09] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:09] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:09] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"dialers:monitor-activities\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"e0173b67-adc7-4861-acea-33ec563fa8bc\",\"trace_id\":\"df5cbecf-dde1-4674-82c8-8b7a2f4b74de\"}\n[2026-05-11 10:18:09] 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\":\"e0173b67-adc7-4861-acea-33ec563fa8bc\",\"trace_id\":\"df5cbecf-dde1-4674-82c8-8b7a2f4b74de\"}\n[2026-05-11 10:18:09] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:09] 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}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:09] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.3,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:18:09] 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.26,\"average_seconds_per_request\":0.26} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":611455,\"team_id\":2,\"email\":\"aneliya.angelova@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611455,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611455} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611455,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:10] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:10] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610915} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610915,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610915,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610915,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610915} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610915,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610528} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610528,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610528,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610528,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610528} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610528,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611087} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611087,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":611087,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611087,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611087} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611087,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611076} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611076,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":611076,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611076,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611076} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611076,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610497} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610497,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610497,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610497,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610497} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610497,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610867} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610867,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610867,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610867,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610867} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610867,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610490} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610490,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610490,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610490,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610490} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610490,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610506} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610506,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610506,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610506,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610506} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610506,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610885} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610885,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610885,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610885,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610885} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610885,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610874} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610874,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610874,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610874,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610874} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610874,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610617} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610617,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610617,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610617,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610617} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610617,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] 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\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] 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\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] 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\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] 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\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] local.NOTICE: Monitoring start {\"correlation_id\":\"f1c8fc03-337f-4edb-a859-cd9fb18b900e\",\"trace_id\":\"503eff58-a255-4b63-9001-481d9a9bd530\"}\n[2026-05-11 10:18:11] 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\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] local.NOTICE: Monitoring end {\"correlation_id\":\"f1c8fc03-337f-4edb-a859-cd9fb18b900e\",\"trace_id\":\"503eff58-a255-4b63-9001-481d9a9bd530\"}\n[2026-05-11 10:18:12] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:12] 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\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:12] 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.42,\"average_seconds_per_request\":0.42} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:14] 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\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:14] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614382,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:14] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:14] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] 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\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] 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\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"correlation_id\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] 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\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] 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\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614381,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"correlation_id\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] 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\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.55,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:18:15] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610426} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610426,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610426,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610426,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610426} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610426,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:16] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612560} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612560,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] 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\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] 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\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] 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\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] 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\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"447782589921@txt.staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:17] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:17] 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\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:17] 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.23,\"average_seconds_per_request\":0.23} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:17] 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\":\"4f01fa5e-5837-4b03-af04-ccad937f80f4\",\"trace_id\":\"7ea236cf-a366-4cea-8e77-3417ec22eac5\"}\n[2026-05-11 10:18:18] 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\":\"4f01fa5e-5837-4b03-af04-ccad937f80f4\",\"trace_id\":\"7ea236cf-a366-4cea-8e77-3417ec22eac5\"}\n[2026-05-11 10:18:18] 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\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612560,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612560} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612560,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] 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\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610462} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610462,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610462,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610462,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610462} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610462,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612819,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] 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\":null,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":261} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":299} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] 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\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] 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\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] 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\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] 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\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"adelina.petrova@jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:19] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:19] 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\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:19] 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.23,\"average_seconds_per_request\":0.23} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:19] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:process\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"add7477b-8e9d-44ef-9c16-cf763d7fd973\",\"trace_id\":\"0a4036d4-4c6b-4724-8efb-d8375a7dfe6a\"}\n[2026-05-11 10:18:19] local.INFO: [EmailSchedule] STARTING batch process {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"add7477b-8e9d-44ef-9c16-cf763d7fd973\",\"trace_id\":\"0a4036d4-4c6b-4724-8efb-d8375a7dfe6a\"}\n[2026-05-11 10:18:19] local.INFO: [EmailSchedule] FINISHED batch process {\"host\":\"docker_lamp_1\",\"processed\":0} {\"correlation_id\":\"add7477b-8e9d-44ef-9c16-cf763d7fd973\",\"trace_id\":\"0a4036d4-4c6b-4724-8efb-d8375a7dfe6a\"}\n[2026-05-11 10:18:19] 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\":\"add7477b-8e9d-44ef-9c16-cf763d7fd973\",\"trace_id\":\"0a4036d4-4c6b-4724-8efb-d8375a7dfe6a\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612819,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612847,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612847,\"participants\":[{\"id\":1000130,\"user_id\":null,\"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\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"adelina.petrova@jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612847,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610451} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610451,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610451,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610451} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612562} {\"correlation_id\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612562,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"correlation_id\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"447782589921@txt.staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612562,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612562} {\"correlation_id\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612562,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610764} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610764,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610764,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610764,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610764} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610764,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] 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\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"correlation_id\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614436,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"correlation_id\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610438} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610438,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610438,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610438,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610438} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610438,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] 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\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"correlation_id\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":615092,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"correlation_id\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.23,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:18:20] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610403} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610403,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610403,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610403,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610403} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610403,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610935} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610935,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610935,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610935} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610935,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610470} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610470,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610470,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610470,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610470} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610470,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610900} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610900,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610900,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610900} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610900,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":614378,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":6167,\"account_id\":null,\"opportunity_id\":null,\"stage_id\":null}} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":6167,\"lead_id\":null},{\"id\":1002625,\"user_id\":89,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nmalchev@gmail.com\"} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614378,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612561} {\"correlation_id\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612561,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\"} {\"correlation_id\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612561,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612561} {\"correlation_id\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612561,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612336,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612336} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612336,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":243,\"contact_id\":4491,\"owner_id\":206} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":243,\"contact_id\":4491} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":243,\"contact_id\":4491,\"opportunity_id\":276} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612336,\"participants_processed\":4,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612336} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612336,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611451} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611451,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611451} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:monitor:count\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"5cd332f8-5b05-4813-bf28-dc3f5c776c31\",\"trace_id\":\"9d576391-5ec6-47d4-9c55-77e4dc0e5881\"}\n[2026-05-11 10:18:21] local.INFO: Running conference:monitor:count command for activities in (2026-05-11 10:16:00, 2026-05-11 10:18:00] {\"correlation_id\":\"5cd332f8-5b05-4813-bf28-dc3f5c776c31\",\"trace_id\":\"9d576391-5ec6-47d4-9c55-77e4dc0e5881\"}\n[2026-05-11 10:18:21] local.INFO: [conference:monitor:count] No activities found in (2026-05-11 10:16:00, 2026-05-11 10:18:00] {\"correlation_id\":\"5cd332f8-5b05-4813-bf28-dc3f5c776c31\",\"trace_id\":\"9d576391-5ec6-47d4-9c55-77e4dc0e5881\"}\n[2026-05-11 10:18:21] 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\":\"5cd332f8-5b05-4813-bf28-dc3f5c776c31\",\"trace_id\":\"9d576391-5ec6-47d4-9c55-77e4dc0e5881\"}\n[2026-05-11 10:18:25] 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\":\"5d165f52-8b9b-49f4-826c-5e6effb36469\",\"trace_id\":\"8d23eb87-94aa-45be-a25c-60adf651f65b\"}\n[2026-05-11 10:18:26] 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\":\"5d165f52-8b9b-49f4-826c-5e6effb36469\",\"trace_id\":\"8d23eb87-94aa-45be-a25c-60adf651f65b\"}\n[2026-05-11 10:18:26] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.38,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:19:05] 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\":\"b818863b-2a43-41d9-8ff6-fee7c3d716bc\",\"trace_id\":\"247ba4af-b613-440c-94fe-1c5b9acb9a49\"}\n[2026-05-11 10:19:05] local.INFO: [ScheduleBotCommand] Number of activities to be captured: 0 {\"correlation_id\":\"b818863b-2a43-41d9-8ff6-fee7c3d716bc\",\"trace_id\":\"247ba4af-b613-440c-94fe-1c5b9acb9a49\"}\n[2026-05-11 10:19:05] 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\":\"b818863b-2a43-41d9-8ff6-fee7c3d716bc\",\"trace_id\":\"247ba4af-b613-440c-94fe-1c5b9acb9a49\"}\n[2026-05-11 10:19:07] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"dialers:monitor-activities\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"ebc86a92-142f-437d-993d-b5babcf2cc26\",\"trace_id\":\"afbbde14-96ad-42a5-a9b8-acbb3e1d637a\"}\n[2026-05-11 10:19:07] 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\":\"ebc86a92-142f-437d-993d-b5babcf2cc26\",\"trace_id\":\"afbbde14-96ad-42a5-a9b8-acbb3e1d637a\"}\n[2026-05-11 10:19:08] local.NOTICE: Monitoring start {\"correlation_id\":\"e77a8f39-a88c-4046-abe4-817093d395f4\",\"trace_id\":\"17ae50a2-26b7-48ab-a9a4-1188e484d567\"}\n[2026-05-11 10:19:08] local.NOTICE: Monitoring end {\"correlation_id\":\"e77a8f39-a88c-4046-abe4-817093d395f4\",\"trace_id\":\"17ae50a2-26b7-48ab-a9a4-1188e484d567\"}\n[2026-05-11 10:19: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\":\"82c9f998-b4ec-42a5-9114-b34b4ef4418e\",\"trace_id\":\"398aab71-a970-4adb-bfd2-e7003c988e9b\"}\n[2026-05-11 10:19: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\":\"82c9f998-b4ec-42a5-9114-b34b4ef4418e\",\"trace_id\":\"398aab71-a970-4adb-bfd2-e7003c988e9b\"}\n[2026-05-11 10:19:10] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:process\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"00ff8a16-df56-4dbe-89ee-949f1fec10ae\",\"trace_id\":\"48f7dab8-39b8-47ff-badc-9e61a319de61\"}\n[2026-05-11 10:19:10] local.INFO: [EmailSchedule] STARTING batch process {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"00ff8a16-df56-4dbe-89ee-949f1fec10ae\",\"trace_id\":\"48f7dab8-39b8-47ff-badc-9e61a319de61\"}\n[2026-05-11 10:19:10] local.INFO: [EmailSchedule] FINISHED batch process {\"host\":\"docker_lamp_1\",\"processed\":0} {\"correlation_id\":\"00ff8a16-df56-4dbe-89ee-949f1fec10ae\",\"trace_id\":\"48f7dab8-39b8-47ff-badc-9e61a319de61\"}\n[2026-05-11 10:19:10] 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\":\"00ff8a16-df56-4dbe-89ee-949f1fec10ae\",\"trace_id\":\"48f7dab8-39b8-47ff-badc-9e61a319de61\"}","depth":4,"on_screen":true,"value":"[2026-05-11 10:17:03] 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\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:03] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"correlation_id\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:03] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:03] 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\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:03] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:03] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:03] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:03] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:03] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:03] 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\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:03] 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\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.WARNING: [Hubspot] No retry-after header or policy name found, using default {\"exception_class\":\"SevenShores\\\\Hubspot\\\\Exceptions\\\\BadRequest\"} {\"correlation_id\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":10,\"policy\":null,\"reason\":\"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\\\":\\\"019e168a-5 (truncated...)\n\"} {\"correlation_id\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"correlation_id\":\"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"78f847cf-6495-4054-b3d4-e179a133bd42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"correlation_id\":\"78f847cf-6495-4054-b3d4-e179a133bd42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"78f847cf-6495-4054-b3d4-e179a133bd42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"78f847cf-6495-4054-b3d4-e179a133bd42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"78f847cf-6495-4054-b3d4-e179a133bd42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"78f847cf-6495-4054-b3d4-e179a133bd42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"78f847cf-6495-4054-b3d4-e179a133bd42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"78f847cf-6495-4054-b3d4-e179a133bd42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"78f847cf-6495-4054-b3d4-e179a133bd42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"78f847cf-6495-4054-b3d4-e179a133bd42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"78f847cf-6495-4054-b3d4-e179a133bd42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"correlation_id\":\"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":614378,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":6167,\"account_id\":null,\"opportunity_id\":null,\"stage_id\":null}} {\"correlation_id\":\"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"correlation_id\":\"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":6167,\"lead_id\":null},{\"id\":1002625,\"user_id\":89,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613840,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613840} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613840,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":261} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":299} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613840,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613840} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613840,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613833,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613833} {\"correlation_id\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613833,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613833,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613833} {\"correlation_id\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613833,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613827,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613827} {\"correlation_id\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613827,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613827,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613827} {\"correlation_id\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613827,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613826,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613826} {\"correlation_id\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613826,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613826,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613826} {\"correlation_id\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613826,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613820,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613820} {\"correlation_id\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613820,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613820,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613820} {\"correlation_id\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613820,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613818,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613818} {\"correlation_id\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613818,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613818,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613818} {\"correlation_id\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613818,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613812,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613812} {\"correlation_id\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613812,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613812,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613812} {\"correlation_id\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613812,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613807,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4484,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613807} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613807,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":4484,\"lead_id\":null}]} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":243,\"contact_id\":4484,\"owner_id\":253} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":243,\"contact_id\":4484} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":243,\"contact_id\":4484,\"opportunity_id\":276} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"tsvetomir.banovski@gmail.com\"} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613807,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613807} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613807,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613806,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613806} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613806,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":253} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":244,\"contact_id\":4487} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":350} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613806,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613806} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613806,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613805,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613805} {\"correlation_id\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613805,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613805,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613805} {\"correlation_id\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613805,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613698,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613698} {\"correlation_id\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613698,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613698,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613698} {\"correlation_id\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613698,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613697,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613697} {\"correlation_id\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613697,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613697,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613697} {\"correlation_id\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613697,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613696,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613696} {\"correlation_id\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613696,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613696,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613696} {\"correlation_id\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613696,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613695,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613695} {\"correlation_id\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613695,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613695,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613695} {\"correlation_id\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613695,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613694,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613694} {\"correlation_id\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613694,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613694,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613694} {\"correlation_id\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613694,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613157,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613157} {\"correlation_id\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613157,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613157,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613157} {\"correlation_id\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613157,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613156,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613156} {\"correlation_id\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613156,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613156,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613156} {\"correlation_id\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613156,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613155,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613155} {\"correlation_id\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613155,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613155,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613155} {\"correlation_id\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613155,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613130,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613130} {\"correlation_id\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613130,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613130,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613130} {\"correlation_id\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613130,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":165,\"stage_id\":89}} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612924} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612924,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":69,\"contact_id\":97,\"owner_id\":19} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":69,\"contact_id\":97,\"opportunity_id\":165} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612924,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612924} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612924,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":165,\"stage_id\":89}} {\"correlation_id\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612923} {\"correlation_id\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612923,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612923,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612923} {\"correlation_id\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612923,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":165,\"stage_id\":89}} {\"correlation_id\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612922} {\"correlation_id\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612922,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612922,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612922} {\"correlation_id\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612922,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612847,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"e1add09a-4136-4471-aaab-635ce3913944\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"correlation_id\":\"e1add09a-4136-4471-aaab-635ce3913944\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e1add09a-4136-4471-aaab-635ce3913944\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612847,\"participants\":[{\"id\":1000130,\"user_id\":null,\"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\":\"e1add09a-4136-4471-aaab-635ce3913944\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e1add09a-4136-4471-aaab-635ce3913944\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e1add09a-4136-4471-aaab-635ce3913944\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e1add09a-4136-4471-aaab-635ce3913944\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e1add09a-4136-4471-aaab-635ce3913944\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"e1add09a-4136-4471-aaab-635ce3913944\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"e1add09a-4136-4471-aaab-635ce3913944\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"e1add09a-4136-4471-aaab-635ce3913944\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"e1add09a-4136-4471-aaab-635ce3913944\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612822,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612822} {\"correlation_id\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612822,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612822,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612822} {\"correlation_id\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612822,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612819,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"correlation_id\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":null,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612673,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612673} {\"correlation_id\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612673,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612673,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612673} {\"correlation_id\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612673,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612642,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612642} {\"correlation_id\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612642,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612642,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612642} {\"correlation_id\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612642,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612598} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612598,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":243,\"contact_id\":4491,\"owner_id\":206} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":243,\"contact_id\":4491} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":243,\"contact_id\":4491,\"opportunity_id\":276} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612598,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612598} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612598,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612597} {\"correlation_id\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612597,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612597,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612597} {\"correlation_id\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612597,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612596} {\"correlation_id\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612596,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612596,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612596} {\"correlation_id\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612596,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612595} {\"correlation_id\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612595,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612595,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612595} {\"correlation_id\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612595,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612594} {\"correlation_id\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612594,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612594,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612594} {\"correlation_id\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612594,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612593} {\"correlation_id\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612593,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612593,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612593} {\"correlation_id\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612593,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612592} {\"correlation_id\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612592,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"4a8732a4-99b7-41d1-b7b2-eca5b5e48e29\",\"trace_id\":\"61c44eed-65c5-4e52-a175-3bee690af53c\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612592,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612592} {\"correlation_id\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612592,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ScheduleBotCommand] Number of activities to be captured: 0 {\"correlation_id\":\"4a8732a4-99b7-41d1-b7b2-eca5b5e48e29\",\"trace_id\":\"61c44eed-65c5-4e52-a175-3bee690af53c\"}\n[2026-05-11 10:17:07] 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\":\"4a8732a4-99b7-41d1-b7b2-eca5b5e48e29\",\"trace_id\":\"61c44eed-65c5-4e52-a175-3bee690af53c\"}\n[2026-05-11 10:17:07] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612591} {\"correlation_id\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612591,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612591,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612591} {\"correlation_id\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612591,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612590} {\"correlation_id\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612590,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612590,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612590} {\"correlation_id\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612590,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612589} {\"correlation_id\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612589,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612589,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612589} {\"correlation_id\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612589,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612588} {\"correlation_id\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612588,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612588,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612588} {\"correlation_id\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612588,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612587} {\"correlation_id\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612587,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612587,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612587} {\"correlation_id\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612587,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612586} {\"correlation_id\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612586,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612586,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612586} {\"correlation_id\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612586,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612585} {\"correlation_id\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612585,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612585,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612585} {\"correlation_id\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612585,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612584} {\"correlation_id\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612584,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612584,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612584} {\"correlation_id\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612584,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612583} {\"correlation_id\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612583,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612583,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612583} {\"correlation_id\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612583,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612582} {\"correlation_id\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612582,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612582,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612582} {\"correlation_id\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612582,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612581} {\"correlation_id\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612581,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612581,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612581} {\"correlation_id\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612581,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612565} {\"correlation_id\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612565,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] 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\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] 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\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612565,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612565} {\"correlation_id\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612565,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] 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\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] 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\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612563} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612563,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] 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\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] 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\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":206} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":244,\"contact_id\":4487} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":350} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612563,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612563} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612563,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] 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\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"b3bfac4d-fb8a-4113-a07a-e949910a9e3f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612562} {\"correlation_id\":\"b3bfac4d-fb8a-4113-a07a-e949910a9e3f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612562,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b3bfac4d-fb8a-4113-a07a-e949910a9e3f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] 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\":\"b3bfac4d-fb8a-4113-a07a-e949910a9e3f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b3bfac4d-fb8a-4113-a07a-e949910a9e3f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b3bfac4d-fb8a-4113-a07a-e949910a9e3f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b3bfac4d-fb8a-4113-a07a-e949910a9e3f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b3bfac4d-fb8a-4113-a07a-e949910a9e3f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"correlation_id\":\"b3bfac4d-fb8a-4113-a07a-e949910a9e3f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] 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\":\"b3bfac4d-fb8a-4113-a07a-e949910a9e3f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] 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\":\"b3bfac4d-fb8a-4113-a07a-e949910a9e3f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":10} {\"correlation_id\":\"b3bfac4d-fb8a-4113-a07a-e949910a9e3f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612561} {\"correlation_id\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612561,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] 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\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] 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\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\"} {\"correlation_id\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:11] 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\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:11] 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\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:11] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":13} {\"correlation_id\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:12] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"55d42510-0a7f-49da-92bb-3d7d04f519e0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:12] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612560} {\"correlation_id\":\"55d42510-0a7f-49da-92bb-3d7d04f519e0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:12] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612560,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"55d42510-0a7f-49da-92bb-3d7d04f519e0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:12] 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\":\"55d42510-0a7f-49da-92bb-3d7d04f519e0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:12] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"55d42510-0a7f-49da-92bb-3d7d04f519e0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:12] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"55d42510-0a7f-49da-92bb-3d7d04f519e0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:12] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"55d42510-0a7f-49da-92bb-3d7d04f519e0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:12] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"55d42510-0a7f-49da-92bb-3d7d04f519e0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:12] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"correlation_id\":\"55d42510-0a7f-49da-92bb-3d7d04f519e0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:12] 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\":\"55d42510-0a7f-49da-92bb-3d7d04f519e0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:12] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"55d42510-0a7f-49da-92bb-3d7d04f519e0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612559} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612559,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] 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\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] 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\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":69,\"contact_id\":97,\"owner_id\":206} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":69,\"contact_id\":97} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":69,\"contact_id\":97,\"opportunity_id\":5011} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612559,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612559} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612559,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] 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\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612558} {\"correlation_id\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612558,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] 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\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] 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\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612558,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612558} {\"correlation_id\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612558,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] 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\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:15] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:15] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612557} {\"correlation_id\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:15] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612557,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:15] 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\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:16] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:16] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:16] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:16] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:16] 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\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:16] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:16] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612557,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:16] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612557} {\"correlation_id\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:16] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612557,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:16] 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\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612556} {\"correlation_id\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612556,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] 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\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] 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\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612556,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612556} {\"correlation_id\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612556,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] 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\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:18] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612555} {\"correlation_id\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:18] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612555,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:18] 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\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:18] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:18] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:18] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:18] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:18] 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\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:18] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:18] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612555,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:18] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612555} {\"correlation_id\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:18] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612555,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] 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\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":11.49,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:17:19] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612554} {\"correlation_id\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612554,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] 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\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] 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\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612554,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612554} {\"correlation_id\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612554,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] 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\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612553} {\"correlation_id\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612553,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] 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\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] 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\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612553,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612553} {\"correlation_id\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612553,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] 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\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612552} {\"correlation_id\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612552,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] 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\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] 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\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612552,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612552} {\"correlation_id\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612552,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] 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\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612551} {\"correlation_id\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612551,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] 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\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612551,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612551} {\"correlation_id\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612551,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612550} {\"correlation_id\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612550,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612550,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612550} {\"correlation_id\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612550,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612549} {\"correlation_id\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612549,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612549,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612549} {\"correlation_id\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612549,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612365,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612365} {\"correlation_id\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612365,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612365,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612365} {\"correlation_id\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612365,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612360,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612360} {\"correlation_id\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612360,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] 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\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] 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\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] local.WARNING: [Hubspot] No retry-after header or policy name found, using default {\"exception_class\":\"SevenShores\\\\Hubspot\\\\Exceptions\\\\BadRequest\"} {\"correlation_id\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":10,\"policy\":null,\"reason\":\"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\\\":\\\"019e168a-9 (truncated...)\n\"} {\"correlation_id\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":12} {\"correlation_id\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612340,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"f69192c9-9ba8-48e0-b614-996bf3dcc7d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612340} {\"correlation_id\":\"f69192c9-9ba8-48e0-b614-996bf3dcc7d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612340,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f69192c9-9ba8-48e0-b614-996bf3dcc7d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] 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\":\"f69192c9-9ba8-48e0-b614-996bf3dcc7d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f69192c9-9ba8-48e0-b614-996bf3dcc7d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f69192c9-9ba8-48e0-b614-996bf3dcc7d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f69192c9-9ba8-48e0-b614-996bf3dcc7d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f69192c9-9ba8-48e0-b614-996bf3dcc7d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"f69192c9-9ba8-48e0-b614-996bf3dcc7d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] 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\":\"f69192c9-9ba8-48e0-b614-996bf3dcc7d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"f69192c9-9ba8-48e0-b614-996bf3dcc7d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612339,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"6522d428-c400-448c-9130-a06133b21471\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612339} {\"correlation_id\":\"6522d428-c400-448c-9130-a06133b21471\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612339,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"6522d428-c400-448c-9130-a06133b21471\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] 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\":\"6522d428-c400-448c-9130-a06133b21471\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6522d428-c400-448c-9130-a06133b21471\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6522d428-c400-448c-9130-a06133b21471\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"6522d428-c400-448c-9130-a06133b21471\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"6522d428-c400-448c-9130-a06133b21471\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"6522d428-c400-448c-9130-a06133b21471\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] 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\":\"6522d428-c400-448c-9130-a06133b21471\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"6522d428-c400-448c-9130-a06133b21471\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612336,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"0588c797-4ae0-4d7b-b3ee-9706e7ef39df\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612336} {\"correlation_id\":\"0588c797-4ae0-4d7b-b3ee-9706e7ef39df\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612336,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0588c797-4ae0-4d7b-b3ee-9706e7ef39df\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] 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\":\"0588c797-4ae0-4d7b-b3ee-9706e7ef39df\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0588c797-4ae0-4d7b-b3ee-9706e7ef39df\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0588c797-4ae0-4d7b-b3ee-9706e7ef39df\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0588c797-4ae0-4d7b-b3ee-9706e7ef39df\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0588c797-4ae0-4d7b-b3ee-9706e7ef39df\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"0588c797-4ae0-4d7b-b3ee-9706e7ef39df\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] 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\":\"0588c797-4ae0-4d7b-b3ee-9706e7ef39df\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"0588c797-4ae0-4d7b-b3ee-9706e7ef39df\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612183,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612183} {\"correlation_id\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612183,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] 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\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] 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\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612183,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612183} {\"correlation_id\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612183,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] 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\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612182,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612182} {\"correlation_id\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612182,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] 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\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] 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\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612182,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612182} {\"correlation_id\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612182,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] 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\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"dialers:monitor-activities\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"86d5bdfe-cc94-41f2-94ba-422242e4e1f5\",\"trace_id\":\"659a90d1-e357-4e8c-a391-979e687c5ae4\"}\n[2026-05-11 10:17:25] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":1.26,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:17:25] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612181,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612181} {\"correlation_id\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612181,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] 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\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] 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\":\"86d5bdfe-cc94-41f2-94ba-422242e4e1f5\",\"trace_id\":\"659a90d1-e357-4e8c-a391-979e687c5ae4\"}\n[2026-05-11 10:17:25] 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\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612181,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612181} {\"correlation_id\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612181,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] 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\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612180,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612180} {\"correlation_id\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612180,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] 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\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] 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\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612180,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612180} {\"correlation_id\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612180,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] 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\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"0869934c-f4d0-46a1-8387-f2393c5bce93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611455} {\"correlation_id\":\"0869934c-f4d0-46a1-8387-f2393c5bce93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611455,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0869934c-f4d0-46a1-8387-f2393c5bce93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] 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\":\"0869934c-f4d0-46a1-8387-f2393c5bce93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0869934c-f4d0-46a1-8387-f2393c5bce93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0869934c-f4d0-46a1-8387-f2393c5bce93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0869934c-f4d0-46a1-8387-f2393c5bce93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0869934c-f4d0-46a1-8387-f2393c5bce93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"0869934c-f4d0-46a1-8387-f2393c5bce93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] 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\":\"0869934c-f4d0-46a1-8387-f2393c5bce93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] 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\":\"0869934c-f4d0-46a1-8387-f2393c5bce93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"0869934c-f4d0-46a1-8387-f2393c5bce93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"4e3d1181-634e-4ea2-8ac6-7da2a722c455\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611451} {\"correlation_id\":\"4e3d1181-634e-4ea2-8ac6-7da2a722c455\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4e3d1181-634e-4ea2-8ac6-7da2a722c455\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] 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\":\"4e3d1181-634e-4ea2-8ac6-7da2a722c455\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4e3d1181-634e-4ea2-8ac6-7da2a722c455\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4e3d1181-634e-4ea2-8ac6-7da2a722c455\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4e3d1181-634e-4ea2-8ac6-7da2a722c455\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4e3d1181-634e-4ea2-8ac6-7da2a722c455\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"4e3d1181-634e-4ea2-8ac6-7da2a722c455\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] 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\":\"4e3d1181-634e-4ea2-8ac6-7da2a722c455\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] 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\":\"4e3d1181-634e-4ea2-8ac6-7da2a722c455\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"4e3d1181-634e-4ea2-8ac6-7da2a722c455\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"bd88fcdb-25fc-4e20-bec3-36897d7c6d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611087} {\"correlation_id\":\"bd88fcdb-25fc-4e20-bec3-36897d7c6d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611087,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bd88fcdb-25fc-4e20-bec3-36897d7c6d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] 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\":\"bd88fcdb-25fc-4e20-bec3-36897d7c6d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bd88fcdb-25fc-4e20-bec3-36897d7c6d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bd88fcdb-25fc-4e20-bec3-36897d7c6d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"bd88fcdb-25fc-4e20-bec3-36897d7c6d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"bd88fcdb-25fc-4e20-bec3-36897d7c6d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"bd88fcdb-25fc-4e20-bec3-36897d7c6d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"bd88fcdb-25fc-4e20-bec3-36897d7c6d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":10} {\"correlation_id\":\"bd88fcdb-25fc-4e20-bec3-36897d7c6d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"c1d5bb08-3fac-4938-926a-3e672915d6c3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611076} {\"correlation_id\":\"c1d5bb08-3fac-4938-926a-3e672915d6c3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611076,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c1d5bb08-3fac-4938-926a-3e672915d6c3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] 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\":\"c1d5bb08-3fac-4938-926a-3e672915d6c3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c1d5bb08-3fac-4938-926a-3e672915d6c3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c1d5bb08-3fac-4938-926a-3e672915d6c3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"c1d5bb08-3fac-4938-926a-3e672915d6c3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"c1d5bb08-3fac-4938-926a-3e672915d6c3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"c1d5bb08-3fac-4938-926a-3e672915d6c3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"c1d5bb08-3fac-4938-926a-3e672915d6c3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":10} {\"correlation_id\":\"c1d5bb08-3fac-4938-926a-3e672915d6c3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"c1161db6-2192-487f-94d9-fb763ee00ea9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610935} {\"correlation_id\":\"c1161db6-2192-487f-94d9-fb763ee00ea9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610935,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c1161db6-2192-487f-94d9-fb763ee00ea9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] 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\":\"c1161db6-2192-487f-94d9-fb763ee00ea9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c1161db6-2192-487f-94d9-fb763ee00ea9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c1161db6-2192-487f-94d9-fb763ee00ea9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"c1161db6-2192-487f-94d9-fb763ee00ea9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"c1161db6-2192-487f-94d9-fb763ee00ea9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"c1161db6-2192-487f-94d9-fb763ee00ea9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"c1161db6-2192-487f-94d9-fb763ee00ea9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"c1161db6-2192-487f-94d9-fb763ee00ea9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"bd974d1f-98c3-43ec-a0ee-c373b13e5a55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610915} {\"correlation_id\":\"bd974d1f-98c3-43ec-a0ee-c373b13e5a55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610915,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bd974d1f-98c3-43ec-a0ee-c373b13e5a55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] 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\":\"bd974d1f-98c3-43ec-a0ee-c373b13e5a55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bd974d1f-98c3-43ec-a0ee-c373b13e5a55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bd974d1f-98c3-43ec-a0ee-c373b13e5a55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"bd974d1f-98c3-43ec-a0ee-c373b13e5a55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"bd974d1f-98c3-43ec-a0ee-c373b13e5a55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"bd974d1f-98c3-43ec-a0ee-c373b13e5a55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"bd974d1f-98c3-43ec-a0ee-c373b13e5a55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":13} {\"correlation_id\":\"bd974d1f-98c3-43ec-a0ee-c373b13e5a55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"6b6b45e9-7387-4b73-a6c1-1302a6e959cc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610900} {\"correlation_id\":\"6b6b45e9-7387-4b73-a6c1-1302a6e959cc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610900,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"6b6b45e9-7387-4b73-a6c1-1302a6e959cc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] 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\":\"6b6b45e9-7387-4b73-a6c1-1302a6e959cc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6b6b45e9-7387-4b73-a6c1-1302a6e959cc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6b6b45e9-7387-4b73-a6c1-1302a6e959cc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"6b6b45e9-7387-4b73-a6c1-1302a6e959cc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"6b6b45e9-7387-4b73-a6c1-1302a6e959cc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"6b6b45e9-7387-4b73-a6c1-1302a6e959cc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"6b6b45e9-7387-4b73-a6c1-1302a6e959cc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":10} {\"correlation_id\":\"6b6b45e9-7387-4b73-a6c1-1302a6e959cc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"3d3fbb4c-6268-4e40-bf22-931be4baeb1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610885} {\"correlation_id\":\"3d3fbb4c-6268-4e40-bf22-931be4baeb1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610885,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3d3fbb4c-6268-4e40-bf22-931be4baeb1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] 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\":\"3d3fbb4c-6268-4e40-bf22-931be4baeb1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3d3fbb4c-6268-4e40-bf22-931be4baeb1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3d3fbb4c-6268-4e40-bf22-931be4baeb1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"3d3fbb4c-6268-4e40-bf22-931be4baeb1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"3d3fbb4c-6268-4e40-bf22-931be4baeb1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"3d3fbb4c-6268-4e40-bf22-931be4baeb1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"3d3fbb4c-6268-4e40-bf22-931be4baeb1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"3d3fbb4c-6268-4e40-bf22-931be4baeb1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"75bdd542-1e62-4704-861a-810a631074bf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610878} {\"correlation_id\":\"75bdd542-1e62-4704-861a-810a631074bf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610878,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"75bdd542-1e62-4704-861a-810a631074bf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] 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\":\"75bdd542-1e62-4704-861a-810a631074bf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"75bdd542-1e62-4704-861a-810a631074bf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"75bdd542-1e62-4704-861a-810a631074bf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"75bdd542-1e62-4704-861a-810a631074bf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"75bdd542-1e62-4704-861a-810a631074bf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"75bdd542-1e62-4704-861a-810a631074bf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"75bdd542-1e62-4704-861a-810a631074bf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"75bdd542-1e62-4704-861a-810a631074bf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"923e5701-fa97-4252-a235-5cfe1a50c951\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610874} {\"correlation_id\":\"923e5701-fa97-4252-a235-5cfe1a50c951\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610874,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"923e5701-fa97-4252-a235-5cfe1a50c951\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] 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\":\"923e5701-fa97-4252-a235-5cfe1a50c951\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"923e5701-fa97-4252-a235-5cfe1a50c951\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"923e5701-fa97-4252-a235-5cfe1a50c951\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"923e5701-fa97-4252-a235-5cfe1a50c951\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"923e5701-fa97-4252-a235-5cfe1a50c951\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"923e5701-fa97-4252-a235-5cfe1a50c951\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"923e5701-fa97-4252-a235-5cfe1a50c951\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"923e5701-fa97-4252-a235-5cfe1a50c951\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:30] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"afecdc02-a4b8-431a-baee-e5f104160539\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610867} {\"correlation_id\":\"afecdc02-a4b8-431a-baee-e5f104160539\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610867,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"afecdc02-a4b8-431a-baee-e5f104160539\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:30] 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\":\"afecdc02-a4b8-431a-baee-e5f104160539\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:30] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"afecdc02-a4b8-431a-baee-e5f104160539\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:30] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"afecdc02-a4b8-431a-baee-e5f104160539\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:30] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"afecdc02-a4b8-431a-baee-e5f104160539\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:30] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"afecdc02-a4b8-431a-baee-e5f104160539\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"afecdc02-a4b8-431a-baee-e5f104160539\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"afecdc02-a4b8-431a-baee-e5f104160539\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"afecdc02-a4b8-431a-baee-e5f104160539\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"30a67f60-f844-4758-bc2c-79a6b1ec958a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610764} {\"correlation_id\":\"30a67f60-f844-4758-bc2c-79a6b1ec958a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610764,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"30a67f60-f844-4758-bc2c-79a6b1ec958a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] 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\":\"30a67f60-f844-4758-bc2c-79a6b1ec958a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"30a67f60-f844-4758-bc2c-79a6b1ec958a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"30a67f60-f844-4758-bc2c-79a6b1ec958a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"30a67f60-f844-4758-bc2c-79a6b1ec958a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"30a67f60-f844-4758-bc2c-79a6b1ec958a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"30a67f60-f844-4758-bc2c-79a6b1ec958a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"30a67f60-f844-4758-bc2c-79a6b1ec958a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":10} {\"correlation_id\":\"30a67f60-f844-4758-bc2c-79a6b1ec958a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"2989f086-0b73-4b12-b24c-8665376dcf18\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610617} {\"correlation_id\":\"2989f086-0b73-4b12-b24c-8665376dcf18\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610617,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2989f086-0b73-4b12-b24c-8665376dcf18\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] 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\":\"2989f086-0b73-4b12-b24c-8665376dcf18\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2989f086-0b73-4b12-b24c-8665376dcf18\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2989f086-0b73-4b12-b24c-8665376dcf18\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2989f086-0b73-4b12-b24c-8665376dcf18\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2989f086-0b73-4b12-b24c-8665376dcf18\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2989f086-0b73-4b12-b24c-8665376dcf18\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2989f086-0b73-4b12-b24c-8665376dcf18\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"2989f086-0b73-4b12-b24c-8665376dcf18\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.9,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:17:31] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"0c19e519-0adf-4903-a45d-44559f23151f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610539} {\"correlation_id\":\"0c19e519-0adf-4903-a45d-44559f23151f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610539,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0c19e519-0adf-4903-a45d-44559f23151f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] 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\":\"0c19e519-0adf-4903-a45d-44559f23151f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0c19e519-0adf-4903-a45d-44559f23151f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0c19e519-0adf-4903-a45d-44559f23151f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0c19e519-0adf-4903-a45d-44559f23151f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0c19e519-0adf-4903-a45d-44559f23151f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"0c19e519-0adf-4903-a45d-44559f23151f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"0c19e519-0adf-4903-a45d-44559f23151f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":10} {\"correlation_id\":\"0c19e519-0adf-4903-a45d-44559f23151f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"fc1002b7-ac5b-4080-b6fa-497070177a88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610528} {\"correlation_id\":\"fc1002b7-ac5b-4080-b6fa-497070177a88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610528,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"fc1002b7-ac5b-4080-b6fa-497070177a88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] 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\":\"fc1002b7-ac5b-4080-b6fa-497070177a88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"fc1002b7-ac5b-4080-b6fa-497070177a88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"fc1002b7-ac5b-4080-b6fa-497070177a88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"fc1002b7-ac5b-4080-b6fa-497070177a88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"fc1002b7-ac5b-4080-b6fa-497070177a88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"fc1002b7-ac5b-4080-b6fa-497070177a88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"fc1002b7-ac5b-4080-b6fa-497070177a88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"fc1002b7-ac5b-4080-b6fa-497070177a88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"738402b4-5306-4346-9286-7b1fb94db69f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610506} {\"correlation_id\":\"738402b4-5306-4346-9286-7b1fb94db69f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610506,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"738402b4-5306-4346-9286-7b1fb94db69f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] 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\":\"738402b4-5306-4346-9286-7b1fb94db69f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"738402b4-5306-4346-9286-7b1fb94db69f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"738402b4-5306-4346-9286-7b1fb94db69f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"738402b4-5306-4346-9286-7b1fb94db69f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"738402b4-5306-4346-9286-7b1fb94db69f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"738402b4-5306-4346-9286-7b1fb94db69f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"738402b4-5306-4346-9286-7b1fb94db69f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":13} {\"correlation_id\":\"738402b4-5306-4346-9286-7b1fb94db69f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610497} {\"correlation_id\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610497,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] 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\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.WARNING: [Hubspot] No retry-after header or policy name found, using default {\"exception_class\":\"SevenShores\\\\Hubspot\\\\Exceptions\\\\BadRequest\"} {\"correlation_id\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":10,\"policy\":null,\"reason\":\"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\\\":\\\"019e168a-c (truncated...)\n\"} {\"correlation_id\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":12} {\"correlation_id\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"2e2173eb-7d9e-43e9-b8e2-2c6bb1d4c684\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610490} {\"correlation_id\":\"2e2173eb-7d9e-43e9-b8e2-2c6bb1d4c684\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610490,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2e2173eb-7d9e-43e9-b8e2-2c6bb1d4c684\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] 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\":\"2e2173eb-7d9e-43e9-b8e2-2c6bb1d4c684\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2e2173eb-7d9e-43e9-b8e2-2c6bb1d4c684\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2e2173eb-7d9e-43e9-b8e2-2c6bb1d4c684\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2e2173eb-7d9e-43e9-b8e2-2c6bb1d4c684\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2e2173eb-7d9e-43e9-b8e2-2c6bb1d4c684\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2e2173eb-7d9e-43e9-b8e2-2c6bb1d4c684\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2e2173eb-7d9e-43e9-b8e2-2c6bb1d4c684\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":10} {\"correlation_id\":\"2e2173eb-7d9e-43e9-b8e2-2c6bb1d4c684\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"63a0af1c-277e-446c-9a48-9757a8d34ddc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610470} {\"correlation_id\":\"63a0af1c-277e-446c-9a48-9757a8d34ddc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610470,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"63a0af1c-277e-446c-9a48-9757a8d34ddc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] 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\":\"63a0af1c-277e-446c-9a48-9757a8d34ddc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"63a0af1c-277e-446c-9a48-9757a8d34ddc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"63a0af1c-277e-446c-9a48-9757a8d34ddc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"63a0af1c-277e-446c-9a48-9757a8d34ddc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"63a0af1c-277e-446c-9a48-9757a8d34ddc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"63a0af1c-277e-446c-9a48-9757a8d34ddc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"63a0af1c-277e-446c-9a48-9757a8d34ddc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"63a0af1c-277e-446c-9a48-9757a8d34ddc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"b324376c-1fd3-497f-b0fb-004f86f50635\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610462} {\"correlation_id\":\"b324376c-1fd3-497f-b0fb-004f86f50635\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610462,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b324376c-1fd3-497f-b0fb-004f86f50635\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] 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\":\"b324376c-1fd3-497f-b0fb-004f86f50635\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b324376c-1fd3-497f-b0fb-004f86f50635\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b324376c-1fd3-497f-b0fb-004f86f50635\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b324376c-1fd3-497f-b0fb-004f86f50635\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b324376c-1fd3-497f-b0fb-004f86f50635\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"b324376c-1fd3-497f-b0fb-004f86f50635\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"b324376c-1fd3-497f-b0fb-004f86f50635\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"b324376c-1fd3-497f-b0fb-004f86f50635\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"b2b3cc5b-60ce-4c18-bb68-76d30013357c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610451} {\"correlation_id\":\"b2b3cc5b-60ce-4c18-bb68-76d30013357c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b2b3cc5b-60ce-4c18-bb68-76d30013357c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] 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\":\"b2b3cc5b-60ce-4c18-bb68-76d30013357c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b2b3cc5b-60ce-4c18-bb68-76d30013357c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b2b3cc5b-60ce-4c18-bb68-76d30013357c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b2b3cc5b-60ce-4c18-bb68-76d30013357c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b2b3cc5b-60ce-4c18-bb68-76d30013357c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"b2b3cc5b-60ce-4c18-bb68-76d30013357c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"b2b3cc5b-60ce-4c18-bb68-76d30013357c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"b2b3cc5b-60ce-4c18-bb68-76d30013357c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"d6026499-3681-474a-85f7-3faee13605b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610438} {\"correlation_id\":\"d6026499-3681-474a-85f7-3faee13605b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610438,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d6026499-3681-474a-85f7-3faee13605b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] 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\":\"d6026499-3681-474a-85f7-3faee13605b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d6026499-3681-474a-85f7-3faee13605b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d6026499-3681-474a-85f7-3faee13605b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d6026499-3681-474a-85f7-3faee13605b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d6026499-3681-474a-85f7-3faee13605b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"d6026499-3681-474a-85f7-3faee13605b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"d6026499-3681-474a-85f7-3faee13605b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":13} {\"correlation_id\":\"d6026499-3681-474a-85f7-3faee13605b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"17b3d9a6-2eb0-49d1-8a00-c67c644885e1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610426} {\"correlation_id\":\"17b3d9a6-2eb0-49d1-8a00-c67c644885e1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610426,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"17b3d9a6-2eb0-49d1-8a00-c67c644885e1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] 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\":\"17b3d9a6-2eb0-49d1-8a00-c67c644885e1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"17b3d9a6-2eb0-49d1-8a00-c67c644885e1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"17b3d9a6-2eb0-49d1-8a00-c67c644885e1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"17b3d9a6-2eb0-49d1-8a00-c67c644885e1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"17b3d9a6-2eb0-49d1-8a00-c67c644885e1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"17b3d9a6-2eb0-49d1-8a00-c67c644885e1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"17b3d9a6-2eb0-49d1-8a00-c67c644885e1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"17b3d9a6-2eb0-49d1-8a00-c67c644885e1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"112a2c70-a5f2-4500-9726-7f560d683236\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610403} {\"correlation_id\":\"112a2c70-a5f2-4500-9726-7f560d683236\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610403,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"112a2c70-a5f2-4500-9726-7f560d683236\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] 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\":\"112a2c70-a5f2-4500-9726-7f560d683236\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"112a2c70-a5f2-4500-9726-7f560d683236\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"112a2c70-a5f2-4500-9726-7f560d683236\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"112a2c70-a5f2-4500-9726-7f560d683236\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"112a2c70-a5f2-4500-9726-7f560d683236\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"112a2c70-a5f2-4500-9726-7f560d683236\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"112a2c70-a5f2-4500-9726-7f560d683236\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"112a2c70-a5f2-4500-9726-7f560d683236\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] 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\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610400} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610400,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] 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\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] 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\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] 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\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":1460} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":244,\"contact_id\":4487} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":350} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610400,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610400} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610400,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] 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\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] 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}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6868b438-d843-4331-9862-f802e4cc4ff2\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6868b438-d843-4331-9862-f802e4cc4ff2\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6868b438-d843-4331-9862-f802e4cc4ff2\"}\n[2026-05-11 10:17:34] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6868b438-d843-4331-9862-f802e4cc4ff2\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6868b438-d843-4331-9862-f802e4cc4ff2\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6868b438-d843-4331-9862-f802e4cc4ff2\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6868b438-d843-4331-9862-f802e4cc4ff2\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6868b438-d843-4331-9862-f802e4cc4ff2\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6868b438-d843-4331-9862-f802e4cc4ff2\"}\n[2026-05-11 10:17:34] 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\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6868b438-d843-4331-9862-f802e4cc4ff2\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6868b438-d843-4331-9862-f802e4cc4ff2\"}\n[2026-05-11 10:17:34] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":10} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6868b438-d843-4331-9862-f802e4cc4ff2\"}\n[2026-05-11 10:17:34] 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}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f600c314-da4f-48ea-885b-f3b0db553881\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f600c314-da4f-48ea-885b-f3b0db553881\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f600c314-da4f-48ea-885b-f3b0db553881\"}\n[2026-05-11 10:17:34] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f600c314-da4f-48ea-885b-f3b0db553881\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f600c314-da4f-48ea-885b-f3b0db553881\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f600c314-da4f-48ea-885b-f3b0db553881\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f600c314-da4f-48ea-885b-f3b0db553881\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f600c314-da4f-48ea-885b-f3b0db553881\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f600c314-da4f-48ea-885b-f3b0db553881\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f600c314-da4f-48ea-885b-f3b0db553881\"}\n[2026-05-11 10:17:34] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":10} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f600c314-da4f-48ea-885b-f3b0db553881\"}\n[2026-05-11 10:17:34] local.NOTICE: Monitoring start {\"correlation_id\":\"2a3353ba-9883-42be-b596-9e38bd5fc160\",\"trace_id\":\"fc84fbbd-f6ab-40f6-8fdc-f023fbe3b46e\"}\n[2026-05-11 10:17:34] local.NOTICE: Monitoring end {\"correlation_id\":\"2a3353ba-9883-42be-b596-9e38bd5fc160\",\"trace_id\":\"fc84fbbd-f6ab-40f6-8fdc-f023fbe3b46e\"}\n[2026-05-11 10:17:34] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612819,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] 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\":null,\"contact_id\":null,\"lead_id\":null}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612819,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":11} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] 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}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"5b7869a5-e05c-417f-819f-12774e20bb56\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"5b7869a5-e05c-417f-819f-12774e20bb56\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"5b7869a5-e05c-417f-819f-12774e20bb56\"}\n[2026-05-11 10:17:34] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"5b7869a5-e05c-417f-819f-12774e20bb56\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"5b7869a5-e05c-417f-819f-12774e20bb56\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"5b7869a5-e05c-417f-819f-12774e20bb56\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"5b7869a5-e05c-417f-819f-12774e20bb56\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"5b7869a5-e05c-417f-819f-12774e20bb56\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"5b7869a5-e05c-417f-819f-12774e20bb56\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"5b7869a5-e05c-417f-819f-12774e20bb56\"}\n[2026-05-11 10:17:34] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":14} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"5b7869a5-e05c-417f-819f-12774e20bb56\"}\n[2026-05-11 10:17:34] 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}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72bb1bed-9270-436f-977c-a73c970415a3\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72bb1bed-9270-436f-977c-a73c970415a3\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72bb1bed-9270-436f-977c-a73c970415a3\"}\n[2026-05-11 10:17:34] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72bb1bed-9270-436f-977c-a73c970415a3\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72bb1bed-9270-436f-977c-a73c970415a3\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72bb1bed-9270-436f-977c-a73c970415a3\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72bb1bed-9270-436f-977c-a73c970415a3\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72bb1bed-9270-436f-977c-a73c970415a3\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72bb1bed-9270-436f-977c-a73c970415a3\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72bb1bed-9270-436f-977c-a73c970415a3\"}\n[2026-05-11 10:17:34] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":13} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72bb1bed-9270-436f-977c-a73c970415a3\"}\n[2026-05-11 10:17:34] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":614378,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":6167,\"account_id\":null,\"opportunity_id\":null,\"stage_id\":null}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ef02c9ff-d0fc-47cb-aeb0-e8ba837de699\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ef02c9ff-d0fc-47cb-aeb0-e8ba837de699\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ef02c9ff-d0fc-47cb-aeb0-e8ba837de699\"}\n[2026-05-11 10:17:34] 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\":6167,\"lead_id\":null},{\"id\":1002625,\"user_id\":89,\"contact_id\":null,\"lead_id\":null}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ef02c9ff-d0fc-47cb-aeb0-e8ba837de699\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ef02c9ff-d0fc-47cb-aeb0-e8ba837de699\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ef02c9ff-d0fc-47cb-aeb0-e8ba837de699\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ef02c9ff-d0fc-47cb-aeb0-e8ba837de699\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ef02c9ff-d0fc-47cb-aeb0-e8ba837de699\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ef02c9ff-d0fc-47cb-aeb0-e8ba837de699\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ef02c9ff-d0fc-47cb-aeb0-e8ba837de699\"}\n[2026-05-11 10:17:34] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":12} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ef02c9ff-d0fc-47cb-aeb0-e8ba837de699\"}\n[2026-05-11 10:17:34] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612847,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e1608ca2-4101-4e24-8c9f-29ba81ce925f\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e1608ca2-4101-4e24-8c9f-29ba81ce925f\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e1608ca2-4101-4e24-8c9f-29ba81ce925f\"}\n[2026-05-11 10:17:34] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612847,\"participants\":[{\"id\":1000130,\"user_id\":null,\"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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e1608ca2-4101-4e24-8c9f-29ba81ce925f\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e1608ca2-4101-4e24-8c9f-29ba81ce925f\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e1608ca2-4101-4e24-8c9f-29ba81ce925f\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e1608ca2-4101-4e24-8c9f-29ba81ce925f\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e1608ca2-4101-4e24-8c9f-29ba81ce925f\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e1608ca2-4101-4e24-8c9f-29ba81ce925f\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e1608ca2-4101-4e24-8c9f-29ba81ce925f\"}\n[2026-05-11 10:17:34] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":11} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e1608ca2-4101-4e24-8c9f-29ba81ce925f\"}\n[2026-05-11 10:17:34] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"40f1c570-c73a-4bea-99d1-0b405485c1eb\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612562} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"40f1c570-c73a-4bea-99d1-0b405485c1eb\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612562,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"40f1c570-c73a-4bea-99d1-0b405485c1eb\"}\n[2026-05-11 10:17:34] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"40f1c570-c73a-4bea-99d1-0b405485c1eb\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"40f1c570-c73a-4bea-99d1-0b405485c1eb\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"40f1c570-c73a-4bea-99d1-0b405485c1eb\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"40f1c570-c73a-4bea-99d1-0b405485c1eb\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"40f1c570-c73a-4bea-99d1-0b405485c1eb\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"40f1c570-c73a-4bea-99d1-0b405485c1eb\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"40f1c570-c73a-4bea-99d1-0b405485c1eb\"}\n[2026-05-11 10:17:34] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":14} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"40f1c570-c73a-4bea-99d1-0b405485c1eb\"}\n[2026-05-11 10:17:34] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6f43c701-78e8-4a90-bc73-feecc83e035c\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612560} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6f43c701-78e8-4a90-bc73-feecc83e035c\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612560,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6f43c701-78e8-4a90-bc73-feecc83e035c\"}\n[2026-05-11 10:17:34] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6f43c701-78e8-4a90-bc73-feecc83e035c\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6f43c701-78e8-4a90-bc73-feecc83e035c\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6f43c701-78e8-4a90-bc73-feecc83e035c\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6f43c701-78e8-4a90-bc73-feecc83e035c\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6f43c701-78e8-4a90-bc73-feecc83e035c\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6f43c701-78e8-4a90-bc73-feecc83e035c\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6f43c701-78e8-4a90-bc73-feecc83e035c\"}\n[2026-05-11 10:17:34] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":10} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6f43c701-78e8-4a90-bc73-feecc83e035c\"}\n[2026-05-11 10:17:34] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"714584dc-ec4b-479a-aecd-db6c109f4a6d\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612561} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"714584dc-ec4b-479a-aecd-db6c109f4a6d\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612561,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"714584dc-ec4b-479a-aecd-db6c109f4a6d\"}\n[2026-05-11 10:17:34] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"714584dc-ec4b-479a-aecd-db6c109f4a6d\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"714584dc-ec4b-479a-aecd-db6c109f4a6d\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"714584dc-ec4b-479a-aecd-db6c109f4a6d\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"714584dc-ec4b-479a-aecd-db6c109f4a6d\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"714584dc-ec4b-479a-aecd-db6c109f4a6d\"}\n[2026-05-11 10:17:34] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612561,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"714584dc-ec4b-479a-aecd-db6c109f4a6d\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"714584dc-ec4b-479a-aecd-db6c109f4a6d\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"714584dc-ec4b-479a-aecd-db6c109f4a6d\"}\n[2026-05-11 10:17:34] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":12} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"714584dc-ec4b-479a-aecd-db6c109f4a6d\"}\n[2026-05-11 10:17:34] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612340,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f7f53665-81f1-4b01-86eb-56ad96f088db\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612340} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f7f53665-81f1-4b01-86eb-56ad96f088db\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612340,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f7f53665-81f1-4b01-86eb-56ad96f088db\"}\n[2026-05-11 10:17:34] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f7f53665-81f1-4b01-86eb-56ad96f088db\"}\n[2026-05-11 10:17:35] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f7f53665-81f1-4b01-86eb-56ad96f088db\"}\n[2026-05-11 10:17:35] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f7f53665-81f1-4b01-86eb-56ad96f088db\"}\n[2026-05-11 10:17:35] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f7f53665-81f1-4b01-86eb-56ad96f088db\"}\n[2026-05-11 10:17:35] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f7f53665-81f1-4b01-86eb-56ad96f088db\"}\n[2026-05-11 10:17:35] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f7f53665-81f1-4b01-86eb-56ad96f088db\"}\n[2026-05-11 10:17:35] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612340,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f7f53665-81f1-4b01-86eb-56ad96f088db\"}\n[2026-05-11 10:17:35] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":14} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f7f53665-81f1-4b01-86eb-56ad96f088db\"}\n[2026-05-11 10:17:35] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612360,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7356be9b-68c6-4c39-9fbe-d16bafce4614\"}\n[2026-05-11 10:17:35] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612360} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7356be9b-68c6-4c39-9fbe-d16bafce4614\"}\n[2026-05-11 10:17:35] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612360,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7356be9b-68c6-4c39-9fbe-d16bafce4614\"}\n[2026-05-11 10:17:35] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7356be9b-68c6-4c39-9fbe-d16bafce4614\"}\n[2026-05-11 10:17:35] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7356be9b-68c6-4c39-9fbe-d16bafce4614\"}\n[2026-05-11 10:17:35] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7356be9b-68c6-4c39-9fbe-d16bafce4614\"}\n[2026-05-11 10:17:35] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7356be9b-68c6-4c39-9fbe-d16bafce4614\"}\n[2026-05-11 10:17:35] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7356be9b-68c6-4c39-9fbe-d16bafce4614\"}\n[2026-05-11 10:17:35] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7356be9b-68c6-4c39-9fbe-d16bafce4614\"}\n[2026-05-11 10:17:35] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612360,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7356be9b-68c6-4c39-9fbe-d16bafce4614\"}\n[2026-05-11 10:17:35] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":15} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7356be9b-68c6-4c39-9fbe-d16bafce4614\"}\n[2026-05-11 10:17:35] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612339,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb97cad3-6d10-4315-a771-a5c3a8aeeb31\"}\n[2026-05-11 10:17:35] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612339} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb97cad3-6d10-4315-a771-a5c3a8aeeb31\"}\n[2026-05-11 10:17:35] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612339,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb97cad3-6d10-4315-a771-a5c3a8aeeb31\"}\n[2026-05-11 10:17:35] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb97cad3-6d10-4315-a771-a5c3a8aeeb31\"}\n[2026-05-11 10:17:35] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb97cad3-6d10-4315-a771-a5c3a8aeeb31\"}\n[2026-05-11 10:17:35] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb97cad3-6d10-4315-a771-a5c3a8aeeb31\"}\n[2026-05-11 10:17:35] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb97cad3-6d10-4315-a771-a5c3a8aeeb31\"}\n[2026-05-11 10:17:35] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb97cad3-6d10-4315-a771-a5c3a8aeeb31\"}\n[2026-05-11 10:17:35] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb97cad3-6d10-4315-a771-a5c3a8aeeb31\"}\n[2026-05-11 10:17:35] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612339,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb97cad3-6d10-4315-a771-a5c3a8aeeb31\"}\n[2026-05-11 10:17:35] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":15} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb97cad3-6d10-4315-a771-a5c3a8aeeb31\"}\n[2026-05-11 10:17:36] 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\":\"b6a9ae37-beff-496a-820a-bcf0512308f2\",\"trace_id\":\"be38fb3e-0cfa-4c02-a66a-cc0cf8d3d54a\"}\n[2026-05-11 10:17:36] 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\":\"b6a9ae37-beff-496a-820a-bcf0512308f2\",\"trace_id\":\"be38fb3e-0cfa-4c02-a66a-cc0cf8d3d54a\"}\n[2026-05-11 10:17:37] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.49,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:17:37] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73d4c333-df67-43c5-a413-4c675a3ebc5e\"}\n[2026-05-11 10:17:37] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611451} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73d4c333-df67-43c5-a413-4c675a3ebc5e\"}\n[2026-05-11 10:17:37] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73d4c333-df67-43c5-a413-4c675a3ebc5e\"}\n[2026-05-11 10:17:37] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73d4c333-df67-43c5-a413-4c675a3ebc5e\"}\n[2026-05-11 10:17:37] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73d4c333-df67-43c5-a413-4c675a3ebc5e\"}\n[2026-05-11 10:17:37] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73d4c333-df67-43c5-a413-4c675a3ebc5e\"}\n[2026-05-11 10:17:37] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73d4c333-df67-43c5-a413-4c675a3ebc5e\"}\n[2026-05-11 10:17:37] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73d4c333-df67-43c5-a413-4c675a3ebc5e\"}\n[2026-05-11 10:17:37] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73d4c333-df67-43c5-a413-4c675a3ebc5e\"}\n[2026-05-11 10:17:37] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73d4c333-df67-43c5-a413-4c675a3ebc5e\"}\n[2026-05-11 10:17:37] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":12} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73d4c333-df67-43c5-a413-4c675a3ebc5e\"}\n[2026-05-11 10:17:37] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0c0e087e-66cf-4404-b647-530f77b3e652\"}\n[2026-05-11 10:17:37] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611087} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0c0e087e-66cf-4404-b647-530f77b3e652\"}\n[2026-05-11 10:17:37] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611087,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0c0e087e-66cf-4404-b647-530f77b3e652\"}\n[2026-05-11 10:17:37] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0c0e087e-66cf-4404-b647-530f77b3e652\"}\n[2026-05-11 10:17:37] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0c0e087e-66cf-4404-b647-530f77b3e652\"}\n[2026-05-11 10:17:37] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0c0e087e-66cf-4404-b647-530f77b3e652\"}\n[2026-05-11 10:17:37] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0c0e087e-66cf-4404-b647-530f77b3e652\"}\n[2026-05-11 10:17:37] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0c0e087e-66cf-4404-b647-530f77b3e652\"}\n[2026-05-11 10:17:37] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0c0e087e-66cf-4404-b647-530f77b3e652\"}\n[2026-05-11 10:17:37] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0c0e087e-66cf-4404-b647-530f77b3e652\"}\n[2026-05-11 10:17:37] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":14} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0c0e087e-66cf-4404-b647-530f77b3e652\"}\n[2026-05-11 10:17:37] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8ae56005-eaea-4862-83a4-4c28e0deb862\"}\n[2026-05-11 10:17:37] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611076} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8ae56005-eaea-4862-83a4-4c28e0deb862\"}\n[2026-05-11 10:17:37] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611076,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8ae56005-eaea-4862-83a4-4c28e0deb862\"}\n[2026-05-11 10:17:37] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8ae56005-eaea-4862-83a4-4c28e0deb862\"}\n[2026-05-11 10:17:37] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8ae56005-eaea-4862-83a4-4c28e0deb862\"}\n[2026-05-11 10:17:37] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8ae56005-eaea-4862-83a4-4c28e0deb862\"}\n[2026-05-11 10:17:37] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8ae56005-eaea-4862-83a4-4c28e0deb862\"}\n[2026-05-11 10:17:37] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8ae56005-eaea-4862-83a4-4c28e0deb862\"}\n[2026-05-11 10:17:37] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8ae56005-eaea-4862-83a4-4c28e0deb862\"}\n[2026-05-11 10:17:37] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8ae56005-eaea-4862-83a4-4c28e0deb862\"}\n[2026-05-11 10:17:37] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":15} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8ae56005-eaea-4862-83a4-4c28e0deb862\"}\n[2026-05-11 10:17:38] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72f691bf-4dd5-46e4-b0aa-e6d9947e244c\"}\n[2026-05-11 10:17:38] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610900} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72f691bf-4dd5-46e4-b0aa-e6d9947e244c\"}\n[2026-05-11 10:17:38] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610900,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72f691bf-4dd5-46e4-b0aa-e6d9947e244c\"}\n[2026-05-11 10:17:38] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72f691bf-4dd5-46e4-b0aa-e6d9947e244c\"}\n[2026-05-11 10:17:38] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72f691bf-4dd5-46e4-b0aa-e6d9947e244c\"}\n[2026-05-11 10:17:38] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72f691bf-4dd5-46e4-b0aa-e6d9947e244c\"}\n[2026-05-11 10:17:38] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72f691bf-4dd5-46e4-b0aa-e6d9947e244c\"}\n[2026-05-11 10:17:38] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72f691bf-4dd5-46e4-b0aa-e6d9947e244c\"}\n[2026-05-11 10:17:38] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72f691bf-4dd5-46e4-b0aa-e6d9947e244c\"}\n[2026-05-11 10:17:38] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72f691bf-4dd5-46e4-b0aa-e6d9947e244c\"}\n[2026-05-11 10:17:38] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":10} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72f691bf-4dd5-46e4-b0aa-e6d9947e244c\"}\n[2026-05-11 10:17:38] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9c039918-1cd4-4208-bd24-8e42d3efb19e\"}\n[2026-05-11 10:17:38] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610935} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9c039918-1cd4-4208-bd24-8e42d3efb19e\"}\n[2026-05-11 10:17:38] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610935,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9c039918-1cd4-4208-bd24-8e42d3efb19e\"}\n[2026-05-11 10:17:38] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9c039918-1cd4-4208-bd24-8e42d3efb19e\"}\n[2026-05-11 10:17:38] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9c039918-1cd4-4208-bd24-8e42d3efb19e\"}\n[2026-05-11 10:17:38] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9c039918-1cd4-4208-bd24-8e42d3efb19e\"}\n[2026-05-11 10:17:38] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9c039918-1cd4-4208-bd24-8e42d3efb19e\"}\n[2026-05-11 10:17:38] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9c039918-1cd4-4208-bd24-8e42d3efb19e\"}\n[2026-05-11 10:17:38] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9c039918-1cd4-4208-bd24-8e42d3efb19e\"}\n[2026-05-11 10:17:38] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9c039918-1cd4-4208-bd24-8e42d3efb19e\"}\n[2026-05-11 10:17:38] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":10} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9c039918-1cd4-4208-bd24-8e42d3efb19e\"}\n[2026-05-11 10:17:39] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:process\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"07a987cd-1db5-4796-b217-d8d2d1b6913e\",\"trace_id\":\"90eeb583-f4ef-4d3f-bf6e-2425312728c5\"}\n[2026-05-11 10:17:39] local.INFO: [EmailSchedule] STARTING batch process {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"07a987cd-1db5-4796-b217-d8d2d1b6913e\",\"trace_id\":\"90eeb583-f4ef-4d3f-bf6e-2425312728c5\"}\n[2026-05-11 10:17:39] local.INFO: [EmailSchedule] FINISHED batch process {\"host\":\"docker_lamp_1\",\"processed\":0} {\"correlation_id\":\"07a987cd-1db5-4796-b217-d8d2d1b6913e\",\"trace_id\":\"90eeb583-f4ef-4d3f-bf6e-2425312728c5\"}\n[2026-05-11 10:17:39] 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\":\"07a987cd-1db5-4796-b217-d8d2d1b6913e\",\"trace_id\":\"90eeb583-f4ef-4d3f-bf6e-2425312728c5\"}\n[2026-05-11 10:17:39] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612336,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612336} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612336,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":243,\"contact_id\":4491,\"owner_id\":206} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":243,\"contact_id\":4491} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":243,\"contact_id\":4491,\"opportunity_id\":276} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612336,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":10} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:40] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3b238a85-6f7e-44ab-8dac-2e8f132b32fe\"}\n[2026-05-11 10:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611455} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3b238a85-6f7e-44ab-8dac-2e8f132b32fe\"}\n[2026-05-11 10:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611455,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3b238a85-6f7e-44ab-8dac-2e8f132b32fe\"}\n[2026-05-11 10:17:40] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3b238a85-6f7e-44ab-8dac-2e8f132b32fe\"}\n[2026-05-11 10:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3b238a85-6f7e-44ab-8dac-2e8f132b32fe\"}\n[2026-05-11 10:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3b238a85-6f7e-44ab-8dac-2e8f132b32fe\"}\n[2026-05-11 10:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3b238a85-6f7e-44ab-8dac-2e8f132b32fe\"}\n[2026-05-11 10:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3b238a85-6f7e-44ab-8dac-2e8f132b32fe\"}\n[2026-05-11 10:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3b238a85-6f7e-44ab-8dac-2e8f132b32fe\"}\n[2026-05-11 10:17:40] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3b238a85-6f7e-44ab-8dac-2e8f132b32fe\"}\n[2026-05-11 10:17:40] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":12} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3b238a85-6f7e-44ab-8dac-2e8f132b32fe\"}\n[2026-05-11 10:17:40] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"233b41da-91f2-45fb-8a21-80d2cd24570d\"}\n[2026-05-11 10:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610878} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"233b41da-91f2-45fb-8a21-80d2cd24570d\"}\n[2026-05-11 10:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610878,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"233b41da-91f2-45fb-8a21-80d2cd24570d\"}\n[2026-05-11 10:17:40] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"233b41da-91f2-45fb-8a21-80d2cd24570d\"}\n[2026-05-11 10:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"233b41da-91f2-45fb-8a21-80d2cd24570d\"}\n[2026-05-11 10:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"233b41da-91f2-45fb-8a21-80d2cd24570d\"}\n[2026-05-11 10:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"233b41da-91f2-45fb-8a21-80d2cd24570d\"}\n[2026-05-11 10:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"233b41da-91f2-45fb-8a21-80d2cd24570d\"}\n[2026-05-11 10:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"233b41da-91f2-45fb-8a21-80d2cd24570d\"}\n[2026-05-11 10:17:40] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"233b41da-91f2-45fb-8a21-80d2cd24570d\"}\n[2026-05-11 10:17:40] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":13} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"233b41da-91f2-45fb-8a21-80d2cd24570d\"}\n[2026-05-11 10:17:41] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:create\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"e17eab55-f6ef-40c4-bcf7-0b2b4af23908\",\"trace_id\":\"fab32d53-3e12-42b6-b809-50dcad19899b\"}\n[2026-05-11 10:17:41] local.INFO: [EmailSchedule] STARTING batch create {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"e17eab55-f6ef-40c4-bcf7-0b2b4af23908\",\"trace_id\":\"fab32d53-3e12-42b6-b809-50dcad19899b\"}\n[2026-05-11 10:17:41] local.INFO: [EmailSchedule] FINISHED batch create {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"e17eab55-f6ef-40c4-bcf7-0b2b4af23908\",\"trace_id\":\"fab32d53-3e12-42b6-b809-50dcad19899b\"}\n[2026-05-11 10:17:41] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"mailbox:batch:create\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"e17eab55-f6ef-40c4-bcf7-0b2b4af23908\",\"trace_id\":\"fab32d53-3e12-42b6-b809-50dcad19899b\"}\n[2026-05-11 10:17:41] local.INFO: [Jiminny\\Jobs\\Mailbox\\CreateBatches] processed 2 inboxes and created 0 batches {\"userId\":null,\"batchSize\":30,\"maxBatches\":1000} {\"correlation_id\":\"f6431de6-0cbf-4083-96fc-d316ebac17ec\",\"trace_id\":\"fab32d53-3e12-42b6-b809-50dcad19899b\"}\n[2026-05-11 10:17:42] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ae1e1745-b1f8-4fa9-9d96-b0ec9934cbbd\"}\n[2026-05-11 10:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610539} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ae1e1745-b1f8-4fa9-9d96-b0ec9934cbbd\"}\n[2026-05-11 10:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610539,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ae1e1745-b1f8-4fa9-9d96-b0ec9934cbbd\"}\n[2026-05-11 10:17:42] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ae1e1745-b1f8-4fa9-9d96-b0ec9934cbbd\"}\n[2026-05-11 10:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ae1e1745-b1f8-4fa9-9d96-b0ec9934cbbd\"}\n[2026-05-11 10:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ae1e1745-b1f8-4fa9-9d96-b0ec9934cbbd\"}\n[2026-05-11 10:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ae1e1745-b1f8-4fa9-9d96-b0ec9934cbbd\"}\n[2026-05-11 10:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ae1e1745-b1f8-4fa9-9d96-b0ec9934cbbd\"}\n[2026-05-11 10:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ae1e1745-b1f8-4fa9-9d96-b0ec9934cbbd\"}\n[2026-05-11 10:17:42] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ae1e1745-b1f8-4fa9-9d96-b0ec9934cbbd\"}\n[2026-05-11 10:17:42] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":11} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ae1e1745-b1f8-4fa9-9d96-b0ec9934cbbd\"}\n[2026-05-11 10:17:42] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f131d63b-7da9-4a0c-b9d5-4a2d2ae772f1\"}\n[2026-05-11 10:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610915} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f131d63b-7da9-4a0c-b9d5-4a2d2ae772f1\"}\n[2026-05-11 10:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610915,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f131d63b-7da9-4a0c-b9d5-4a2d2ae772f1\"}\n[2026-05-11 10:17:42] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f131d63b-7da9-4a0c-b9d5-4a2d2ae772f1\"}\n[2026-05-11 10:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f131d63b-7da9-4a0c-b9d5-4a2d2ae772f1\"}\n[2026-05-11 10:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f131d63b-7da9-4a0c-b9d5-4a2d2ae772f1\"}\n[2026-05-11 10:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f131d63b-7da9-4a0c-b9d5-4a2d2ae772f1\"}\n[2026-05-11 10:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f131d63b-7da9-4a0c-b9d5-4a2d2ae772f1\"}\n[2026-05-11 10:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f131d63b-7da9-4a0c-b9d5-4a2d2ae772f1\"}\n[2026-05-11 10:17:42] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f131d63b-7da9-4a0c-b9d5-4a2d2ae772f1\"}\n[2026-05-11 10:17:42] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":11} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f131d63b-7da9-4a0c-b9d5-4a2d2ae772f1\"}\n[2026-05-11 10:17:42] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"93d7f7d1-3a5c-47ce-bc42-1af98a032e7b\"}\n[2026-05-11 10:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610764} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"93d7f7d1-3a5c-47ce-bc42-1af98a032e7b\"}\n[2026-05-11 10:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610764,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"93d7f7d1-3a5c-47ce-bc42-1af98a032e7b\"}\n[2026-05-11 10:17:42] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"93d7f7d1-3a5c-47ce-bc42-1af98a032e7b\"}\n[2026-05-11 10:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"93d7f7d1-3a5c-47ce-bc42-1af98a032e7b\"}\n[2026-05-11 10:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"93d7f7d1-3a5c-47ce-bc42-1af98a032e7b\"}\n[2026-05-11 10:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"93d7f7d1-3a5c-47ce-bc42-1af98a032e7b\"}\n[2026-05-11 10:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"93d7f7d1-3a5c-47ce-bc42-1af98a032e7b\"}\n[2026-05-11 10:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"93d7f7d1-3a5c-47ce-bc42-1af98a032e7b\"}\n[2026-05-11 10:17:42] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"93d7f7d1-3a5c-47ce-bc42-1af98a032e7b\"}\n[2026-05-11 10:17:42] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":15} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"93d7f7d1-3a5c-47ce-bc42-1af98a032e7b\"}\n[2026-05-11 10:17:42] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.23,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:17:43] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610490} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610490,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] local.WARNING: [Hubspot] No retry-after header or policy name found, using default {\"exception_class\":\"SevenShores\\\\Hubspot\\\\Exceptions\\\\BadRequest\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":10,\"policy\":null,\"reason\":\"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\\\":\\\"019e168a-e (truncated...)\n\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":14} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"34f22bc6-50a7-4f6e-96be-552d05a23255\"}\n[2026-05-11 10:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610528} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"34f22bc6-50a7-4f6e-96be-552d05a23255\"}\n[2026-05-11 10:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610528,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"34f22bc6-50a7-4f6e-96be-552d05a23255\"}\n[2026-05-11 10:17:43] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"34f22bc6-50a7-4f6e-96be-552d05a23255\"}\n[2026-05-11 10:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"34f22bc6-50a7-4f6e-96be-552d05a23255\"}\n[2026-05-11 10:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"34f22bc6-50a7-4f6e-96be-552d05a23255\"}\n[2026-05-11 10:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"34f22bc6-50a7-4f6e-96be-552d05a23255\"}\n[2026-05-11 10:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"34f22bc6-50a7-4f6e-96be-552d05a23255\"}\n[2026-05-11 10:17:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"34f22bc6-50a7-4f6e-96be-552d05a23255\"}\n[2026-05-11 10:17:43] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"34f22bc6-50a7-4f6e-96be-552d05a23255\"}\n[2026-05-11 10:17:43] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":11} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"34f22bc6-50a7-4f6e-96be-552d05a23255\"}\n[2026-05-11 10:17:43] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"624ce203-96d1-4009-ae4e-5b6635eff4b0\"}\n[2026-05-11 10:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610885} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"624ce203-96d1-4009-ae4e-5b6635eff4b0\"}\n[2026-05-11 10:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610885,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"624ce203-96d1-4009-ae4e-5b6635eff4b0\"}\n[2026-05-11 10:17:43] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"624ce203-96d1-4009-ae4e-5b6635eff4b0\"}\n[2026-05-11 10:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"624ce203-96d1-4009-ae4e-5b6635eff4b0\"}\n[2026-05-11 10:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"624ce203-96d1-4009-ae4e-5b6635eff4b0\"}\n[2026-05-11 10:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"624ce203-96d1-4009-ae4e-5b6635eff4b0\"}\n[2026-05-11 10:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"624ce203-96d1-4009-ae4e-5b6635eff4b0\"}\n[2026-05-11 10:17:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"624ce203-96d1-4009-ae4e-5b6635eff4b0\"}\n[2026-05-11 10:17:43] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"624ce203-96d1-4009-ae4e-5b6635eff4b0\"}\n[2026-05-11 10:17:43] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":12} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"624ce203-96d1-4009-ae4e-5b6635eff4b0\"}\n[2026-05-11 10:17:44] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"99d1cf07-a91d-4a90-8059-1fe54fb6097a\"}\n[2026-05-11 10:17:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610451} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"99d1cf07-a91d-4a90-8059-1fe54fb6097a\"}\n[2026-05-11 10:17:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"99d1cf07-a91d-4a90-8059-1fe54fb6097a\"}\n[2026-05-11 10:17:44] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"99d1cf07-a91d-4a90-8059-1fe54fb6097a\"}\n[2026-05-11 10:17:44] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"99d1cf07-a91d-4a90-8059-1fe54fb6097a\"}\n[2026-05-11 10:17:44] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"99d1cf07-a91d-4a90-8059-1fe54fb6097a\"}\n[2026-05-11 10:17:44] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"99d1cf07-a91d-4a90-8059-1fe54fb6097a\"}\n[2026-05-11 10:17:44] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"99d1cf07-a91d-4a90-8059-1fe54fb6097a\"}\n[2026-05-11 10:17:44] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"99d1cf07-a91d-4a90-8059-1fe54fb6097a\"}\n[2026-05-11 10:17:44] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"99d1cf07-a91d-4a90-8059-1fe54fb6097a\"}\n[2026-05-11 10:17:44] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":13} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"99d1cf07-a91d-4a90-8059-1fe54fb6097a\"}\n[2026-05-11 10:17:44] 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\":\"71db6557-d1a4-488a-bcaa-cefeb41f9f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"correlation_id\":\"71db6557-d1a4-488a-bcaa-cefeb41f9f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"71db6557-d1a4-488a-bcaa-cefeb41f9f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] 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\":\"71db6557-d1a4-488a-bcaa-cefeb41f9f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"71db6557-d1a4-488a-bcaa-cefeb41f9f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"71db6557-d1a4-488a-bcaa-cefeb41f9f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"71db6557-d1a4-488a-bcaa-cefeb41f9f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"71db6557-d1a4-488a-bcaa-cefeb41f9f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"71db6557-d1a4-488a-bcaa-cefeb41f9f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"71db6557-d1a4-488a-bcaa-cefeb41f9f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":13} {\"correlation_id\":\"71db6557-d1a4-488a-bcaa-cefeb41f9f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"c4fcf2aa-0846-4e80-b18b-251b2d368949\"}\n[2026-05-11 10:17:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610874} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"c4fcf2aa-0846-4e80-b18b-251b2d368949\"}\n[2026-05-11 10:17:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610874,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"c4fcf2aa-0846-4e80-b18b-251b2d368949\"}\n[2026-05-11 10:17:44] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"c4fcf2aa-0846-4e80-b18b-251b2d368949\"}\n[2026-05-11 10:17:44] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"c4fcf2aa-0846-4e80-b18b-251b2d368949\"}\n[2026-05-11 10:17:44] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"c4fcf2aa-0846-4e80-b18b-251b2d368949\"}\n[2026-05-11 10:17:44] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"c4fcf2aa-0846-4e80-b18b-251b2d368949\"}\n[2026-05-11 10:17:44] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"c4fcf2aa-0846-4e80-b18b-251b2d368949\"}\n[2026-05-11 10:17:44] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"c4fcf2aa-0846-4e80-b18b-251b2d368949\"}\n[2026-05-11 10:17:44] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"c4fcf2aa-0846-4e80-b18b-251b2d368949\"}\n[2026-05-11 10:17:44] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":10} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"c4fcf2aa-0846-4e80-b18b-251b2d368949\"}\n[2026-05-11 10:17:44] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"286a6558-1e66-4ffb-b32f-9f823a296d14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612560} {\"correlation_id\":\"286a6558-1e66-4ffb-b32f-9f823a296d14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612560,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"286a6558-1e66-4ffb-b32f-9f823a296d14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] 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\":\"286a6558-1e66-4ffb-b32f-9f823a296d14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"286a6558-1e66-4ffb-b32f-9f823a296d14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"286a6558-1e66-4ffb-b32f-9f823a296d14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"286a6558-1e66-4ffb-b32f-9f823a296d14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"286a6558-1e66-4ffb-b32f-9f823a296d14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"correlation_id\":\"286a6558-1e66-4ffb-b32f-9f823a296d14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] 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\":\"286a6558-1e66-4ffb-b32f-9f823a296d14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] 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\":\"286a6558-1e66-4ffb-b32f-9f823a296d14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"286a6558-1e66-4ffb-b32f-9f823a296d14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] 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\":\"c0afdc10-8cad-4dab-9147-5495fc19b7c4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"correlation_id\":\"c0afdc10-8cad-4dab-9147-5495fc19b7c4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c0afdc10-8cad-4dab-9147-5495fc19b7c4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] 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\":\"c0afdc10-8cad-4dab-9147-5495fc19b7c4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c0afdc10-8cad-4dab-9147-5495fc19b7c4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c0afdc10-8cad-4dab-9147-5495fc19b7c4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"c0afdc10-8cad-4dab-9147-5495fc19b7c4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"c0afdc10-8cad-4dab-9147-5495fc19b7c4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"c0afdc10-8cad-4dab-9147-5495fc19b7c4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"c0afdc10-8cad-4dab-9147-5495fc19b7c4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":12} {\"correlation_id\":\"c0afdc10-8cad-4dab-9147-5495fc19b7c4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1b88706b-8ac4-431d-8696-8f8766ecae33\"}\n[2026-05-11 10:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610867} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1b88706b-8ac4-431d-8696-8f8766ecae33\"}\n[2026-05-11 10:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610867,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1b88706b-8ac4-431d-8696-8f8766ecae33\"}\n[2026-05-11 10:17:45] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1b88706b-8ac4-431d-8696-8f8766ecae33\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1b88706b-8ac4-431d-8696-8f8766ecae33\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1b88706b-8ac4-431d-8696-8f8766ecae33\"}\n[2026-05-11 10:17:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1b88706b-8ac4-431d-8696-8f8766ecae33\"}\n[2026-05-11 10:17:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1b88706b-8ac4-431d-8696-8f8766ecae33\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1b88706b-8ac4-431d-8696-8f8766ecae33\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1b88706b-8ac4-431d-8696-8f8766ecae33\"}\n[2026-05-11 10:17:45] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":11} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1b88706b-8ac4-431d-8696-8f8766ecae33\"}\n[2026-05-11 10:17:45] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612819,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] 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\":null,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":261} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":299} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] 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\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] 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\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] 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\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612847,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"b4c629ce-833d-484c-8155-4df866fe54cf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"correlation_id\":\"b4c629ce-833d-484c-8155-4df866fe54cf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b4c629ce-833d-484c-8155-4df866fe54cf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612847,\"participants\":[{\"id\":1000130,\"user_id\":null,\"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\":\"b4c629ce-833d-484c-8155-4df866fe54cf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b4c629ce-833d-484c-8155-4df866fe54cf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b4c629ce-833d-484c-8155-4df866fe54cf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b4c629ce-833d-484c-8155-4df866fe54cf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b4c629ce-833d-484c-8155-4df866fe54cf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"b4c629ce-833d-484c-8155-4df866fe54cf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"b4c629ce-833d-484c-8155-4df866fe54cf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"b4c629ce-833d-484c-8155-4df866fe54cf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"168d2aac-7bb8-4249-b62a-e088ef05a5c3\"}\n[2026-05-11 10:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610506} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"168d2aac-7bb8-4249-b62a-e088ef05a5c3\"}\n[2026-05-11 10:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610506,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"168d2aac-7bb8-4249-b62a-e088ef05a5c3\"}\n[2026-05-11 10:17:45] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"168d2aac-7bb8-4249-b62a-e088ef05a5c3\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"168d2aac-7bb8-4249-b62a-e088ef05a5c3\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"168d2aac-7bb8-4249-b62a-e088ef05a5c3\"}\n[2026-05-11 10:17:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"168d2aac-7bb8-4249-b62a-e088ef05a5c3\"}\n[2026-05-11 10:17:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"168d2aac-7bb8-4249-b62a-e088ef05a5c3\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"168d2aac-7bb8-4249-b62a-e088ef05a5c3\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"168d2aac-7bb8-4249-b62a-e088ef05a5c3\"}\n[2026-05-11 10:17:45] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":12} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"168d2aac-7bb8-4249-b62a-e088ef05a5c3\"}\n[2026-05-11 10:17:45] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"067b89fc-5453-49ae-a3fa-5dfdb487c294\"}\n[2026-05-11 10:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610497} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"067b89fc-5453-49ae-a3fa-5dfdb487c294\"}\n[2026-05-11 10:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610497,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"067b89fc-5453-49ae-a3fa-5dfdb487c294\"}\n[2026-05-11 10:17:45] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"067b89fc-5453-49ae-a3fa-5dfdb487c294\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"067b89fc-5453-49ae-a3fa-5dfdb487c294\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"067b89fc-5453-49ae-a3fa-5dfdb487c294\"}\n[2026-05-11 10:17:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"067b89fc-5453-49ae-a3fa-5dfdb487c294\"}\n[2026-05-11 10:17:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"067b89fc-5453-49ae-a3fa-5dfdb487c294\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"067b89fc-5453-49ae-a3fa-5dfdb487c294\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"067b89fc-5453-49ae-a3fa-5dfdb487c294\"}\n[2026-05-11 10:17:45] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":10} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"067b89fc-5453-49ae-a3fa-5dfdb487c294\"}\n[2026-05-11 10:17:45] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e2d3538d-9a14-45c4-b068-84b3732061df\"}\n[2026-05-11 10:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610617} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e2d3538d-9a14-45c4-b068-84b3732061df\"}\n[2026-05-11 10:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610617,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e2d3538d-9a14-45c4-b068-84b3732061df\"}\n[2026-05-11 10:17:45] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e2d3538d-9a14-45c4-b068-84b3732061df\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e2d3538d-9a14-45c4-b068-84b3732061df\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e2d3538d-9a14-45c4-b068-84b3732061df\"}\n[2026-05-11 10:17:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e2d3538d-9a14-45c4-b068-84b3732061df\"}\n[2026-05-11 10:17:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e2d3538d-9a14-45c4-b068-84b3732061df\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e2d3538d-9a14-45c4-b068-84b3732061df\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e2d3538d-9a14-45c4-b068-84b3732061df\"}\n[2026-05-11 10:17:45] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":10} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e2d3538d-9a14-45c4-b068-84b3732061df\"}\n[2026-05-11 10:17:45] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e7285c6c-728d-4284-b885-7e9e9df72706\"}\n[2026-05-11 10:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610403} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e7285c6c-728d-4284-b885-7e9e9df72706\"}\n[2026-05-11 10:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610403,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e7285c6c-728d-4284-b885-7e9e9df72706\"}\n[2026-05-11 10:17:45] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e7285c6c-728d-4284-b885-7e9e9df72706\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e7285c6c-728d-4284-b885-7e9e9df72706\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e7285c6c-728d-4284-b885-7e9e9df72706\"}\n[2026-05-11 10:17:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e7285c6c-728d-4284-b885-7e9e9df72706\"}\n[2026-05-11 10:17:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e7285c6c-728d-4284-b885-7e9e9df72706\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e7285c6c-728d-4284-b885-7e9e9df72706\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e7285c6c-728d-4284-b885-7e9e9df72706\"}\n[2026-05-11 10:17:45] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":12} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e7285c6c-728d-4284-b885-7e9e9df72706\"}\n[2026-05-11 10:17:46] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":614378,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":6167,\"account_id\":null,\"opportunity_id\":null,\"stage_id\":null}} {\"correlation_id\":\"5463b5ad-2286-4568-8f68-76b82d8a4c54\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"correlation_id\":\"5463b5ad-2286-4568-8f68-76b82d8a4c54\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5463b5ad-2286-4568-8f68-76b82d8a4c54\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:46] 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\":6167,\"lead_id\":null},{\"id\":1002625,\"user_id\":89,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"5463b5ad-2286-4568-8f68-76b82d8a4c54\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:46] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5463b5ad-2286-4568-8f68-76b82d8a4c54\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:46] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5463b5ad-2286-4568-8f68-76b82d8a4c54\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:46] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"5463b5ad-2286-4568-8f68-76b82d8a4c54\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:46] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"5463b5ad-2286-4568-8f68-76b82d8a4c54\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"5463b5ad-2286-4568-8f68-76b82d8a4c54\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:46] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"5463b5ad-2286-4568-8f68-76b82d8a4c54\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"5463b5ad-2286-4568-8f68-76b82d8a4c54\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612561} {\"correlation_id\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612561,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] 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\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] 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\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\"} {\"correlation_id\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] 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\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] 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\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7721c535-7311-417a-b30a-1286a84e037b\"}\n[2026-05-11 10:17:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610438} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7721c535-7311-417a-b30a-1286a84e037b\"}\n[2026-05-11 10:17:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610438,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7721c535-7311-417a-b30a-1286a84e037b\"}\n[2026-05-11 10:17:47] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7721c535-7311-417a-b30a-1286a84e037b\"}\n[2026-05-11 10:17:47] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7721c535-7311-417a-b30a-1286a84e037b\"}\n[2026-05-11 10:17:47] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7721c535-7311-417a-b30a-1286a84e037b\"}\n[2026-05-11 10:17:47] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7721c535-7311-417a-b30a-1286a84e037b\"}\n[2026-05-11 10:17:47] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7721c535-7311-417a-b30a-1286a84e037b\"}\n[2026-05-11 10:17:47] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7721c535-7311-417a-b30a-1286a84e037b\"}\n[2026-05-11 10:17:47] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7721c535-7311-417a-b30a-1286a84e037b\"}\n[2026-05-11 10:17:47] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":12} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7721c535-7311-417a-b30a-1286a84e037b\"}\n[2026-05-11 10:17:47] 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\":\"e20af459-b149-4a19-8ef6-4444b4cee8f9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"correlation_id\":\"e20af459-b149-4a19-8ef6-4444b4cee8f9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e20af459-b149-4a19-8ef6-4444b4cee8f9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] 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\":\"e20af459-b149-4a19-8ef6-4444b4cee8f9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e20af459-b149-4a19-8ef6-4444b4cee8f9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e20af459-b149-4a19-8ef6-4444b4cee8f9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e20af459-b149-4a19-8ef6-4444b4cee8f9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e20af459-b149-4a19-8ef6-4444b4cee8f9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"e20af459-b149-4a19-8ef6-4444b4cee8f9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"e20af459-b149-4a19-8ef6-4444b4cee8f9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"e20af459-b149-4a19-8ef6-4444b4cee8f9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90f3fc25-e34d-4c3a-b35c-84317a633c78\"}\n[2026-05-11 10:17:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610462} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90f3fc25-e34d-4c3a-b35c-84317a633c78\"}\n[2026-05-11 10:17:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610462,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90f3fc25-e34d-4c3a-b35c-84317a633c78\"}\n[2026-05-11 10:17:47] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90f3fc25-e34d-4c3a-b35c-84317a633c78\"}\n[2026-05-11 10:17:47] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90f3fc25-e34d-4c3a-b35c-84317a633c78\"}\n[2026-05-11 10:17:47] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90f3fc25-e34d-4c3a-b35c-84317a633c78\"}\n[2026-05-11 10:17:47] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90f3fc25-e34d-4c3a-b35c-84317a633c78\"}\n[2026-05-11 10:17:47] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90f3fc25-e34d-4c3a-b35c-84317a633c78\"}\n[2026-05-11 10:17:47] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90f3fc25-e34d-4c3a-b35c-84317a633c78\"}\n[2026-05-11 10:17:47] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90f3fc25-e34d-4c3a-b35c-84317a633c78\"}\n[2026-05-11 10:17:47] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":14} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90f3fc25-e34d-4c3a-b35c-84317a633c78\"}\n[2026-05-11 10:17:47] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.21,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:17:48] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6264c9dd-ba42-4c8f-a21f-3dffeb0c31c6\"}\n[2026-05-11 10:17:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610470} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6264c9dd-ba42-4c8f-a21f-3dffeb0c31c6\"}\n[2026-05-11 10:17:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610470,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6264c9dd-ba42-4c8f-a21f-3dffeb0c31c6\"}\n[2026-05-11 10:17:48] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6264c9dd-ba42-4c8f-a21f-3dffeb0c31c6\"}\n[2026-05-11 10:17:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6264c9dd-ba42-4c8f-a21f-3dffeb0c31c6\"}\n[2026-05-11 10:17:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6264c9dd-ba42-4c8f-a21f-3dffeb0c31c6\"}\n[2026-05-11 10:17:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6264c9dd-ba42-4c8f-a21f-3dffeb0c31c6\"}\n[2026-05-11 10:17:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6264c9dd-ba42-4c8f-a21f-3dffeb0c31c6\"}\n[2026-05-11 10:17:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6264c9dd-ba42-4c8f-a21f-3dffeb0c31c6\"}\n[2026-05-11 10:17:48] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6264c9dd-ba42-4c8f-a21f-3dffeb0c31c6\"}\n[2026-05-11 10:17:48] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":12} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6264c9dd-ba42-4c8f-a21f-3dffeb0c31c6\"}\n[2026-05-11 10:17: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\":\"64b7efd5-f92f-42b8-95ba-9a9e76fbb676\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"correlation_id\":\"64b7efd5-f92f-42b8-95ba-9a9e76fbb676\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"64b7efd5-f92f-42b8-95ba-9a9e76fbb676\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17: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\":\"64b7efd5-f92f-42b8-95ba-9a9e76fbb676\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"64b7efd5-f92f-42b8-95ba-9a9e76fbb676\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"64b7efd5-f92f-42b8-95ba-9a9e76fbb676\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"64b7efd5-f92f-42b8-95ba-9a9e76fbb676\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"64b7efd5-f92f-42b8-95ba-9a9e76fbb676\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"64b7efd5-f92f-42b8-95ba-9a9e76fbb676\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"64b7efd5-f92f-42b8-95ba-9a9e76fbb676\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"64b7efd5-f92f-42b8-95ba-9a9e76fbb676\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"aa8720ba-c5e3-4d7e-a7c3-697da34a195e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612562} {\"correlation_id\":\"aa8720ba-c5e3-4d7e-a7c3-697da34a195e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612562,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"aa8720ba-c5e3-4d7e-a7c3-697da34a195e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] 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\":\"aa8720ba-c5e3-4d7e-a7c3-697da34a195e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aa8720ba-c5e3-4d7e-a7c3-697da34a195e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aa8720ba-c5e3-4d7e-a7c3-697da34a195e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"aa8720ba-c5e3-4d7e-a7c3-697da34a195e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"aa8720ba-c5e3-4d7e-a7c3-697da34a195e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"correlation_id\":\"aa8720ba-c5e3-4d7e-a7c3-697da34a195e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] 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\":\"aa8720ba-c5e3-4d7e-a7c3-697da34a195e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"aa8720ba-c5e3-4d7e-a7c3-697da34a195e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"1abedcde-ca97-4113-b4a6-60a45a16f9d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610900} {\"correlation_id\":\"1abedcde-ca97-4113-b4a6-60a45a16f9d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610900,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1abedcde-ca97-4113-b4a6-60a45a16f9d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] 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\":\"1abedcde-ca97-4113-b4a6-60a45a16f9d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1abedcde-ca97-4113-b4a6-60a45a16f9d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1abedcde-ca97-4113-b4a6-60a45a16f9d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1abedcde-ca97-4113-b4a6-60a45a16f9d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1abedcde-ca97-4113-b4a6-60a45a16f9d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"1abedcde-ca97-4113-b4a6-60a45a16f9d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"1abedcde-ca97-4113-b4a6-60a45a16f9d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":12} {\"correlation_id\":\"1abedcde-ca97-4113-b4a6-60a45a16f9d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"d4390ffe-1359-41f6-9feb-f0bfbfdafc61\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610935} {\"correlation_id\":\"d4390ffe-1359-41f6-9feb-f0bfbfdafc61\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610935,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d4390ffe-1359-41f6-9feb-f0bfbfdafc61\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] 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\":\"d4390ffe-1359-41f6-9feb-f0bfbfdafc61\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d4390ffe-1359-41f6-9feb-f0bfbfdafc61\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d4390ffe-1359-41f6-9feb-f0bfbfdafc61\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d4390ffe-1359-41f6-9feb-f0bfbfdafc61\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d4390ffe-1359-41f6-9feb-f0bfbfdafc61\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"d4390ffe-1359-41f6-9feb-f0bfbfdafc61\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"d4390ffe-1359-41f6-9feb-f0bfbfdafc61\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":12} {\"correlation_id\":\"d4390ffe-1359-41f6-9feb-f0bfbfdafc61\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"42a128d7-d841-4c03-a6c0-7b9fa918ec1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611451} {\"correlation_id\":\"42a128d7-d841-4c03-a6c0-7b9fa918ec1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"42a128d7-d841-4c03-a6c0-7b9fa918ec1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] 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\":\"42a128d7-d841-4c03-a6c0-7b9fa918ec1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"42a128d7-d841-4c03-a6c0-7b9fa918ec1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"42a128d7-d841-4c03-a6c0-7b9fa918ec1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"42a128d7-d841-4c03-a6c0-7b9fa918ec1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"42a128d7-d841-4c03-a6c0-7b9fa918ec1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"42a128d7-d841-4c03-a6c0-7b9fa918ec1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"42a128d7-d841-4c03-a6c0-7b9fa918ec1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"42a128d7-d841-4c03-a6c0-7b9fa918ec1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612340,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"68eaf196-29ca-48a3-8e46-5bf37620dd08\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612340} {\"correlation_id\":\"68eaf196-29ca-48a3-8e46-5bf37620dd08\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612340,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"68eaf196-29ca-48a3-8e46-5bf37620dd08\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] 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\":\"68eaf196-29ca-48a3-8e46-5bf37620dd08\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"68eaf196-29ca-48a3-8e46-5bf37620dd08\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"68eaf196-29ca-48a3-8e46-5bf37620dd08\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"68eaf196-29ca-48a3-8e46-5bf37620dd08\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"68eaf196-29ca-48a3-8e46-5bf37620dd08\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"68eaf196-29ca-48a3-8e46-5bf37620dd08\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] 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\":\"68eaf196-29ca-48a3-8e46-5bf37620dd08\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"68eaf196-29ca-48a3-8e46-5bf37620dd08\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f997c306-a176-4f3a-8699-d9cd083d6993\"}\n[2026-05-11 10:17:49] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610426} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f997c306-a176-4f3a-8699-d9cd083d6993\"}\n[2026-05-11 10:17:49] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610426,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f997c306-a176-4f3a-8699-d9cd083d6993\"}\n[2026-05-11 10:17:49] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f997c306-a176-4f3a-8699-d9cd083d6993\"}\n[2026-05-11 10:17:49] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f997c306-a176-4f3a-8699-d9cd083d6993\"}\n[2026-05-11 10:17:49] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f997c306-a176-4f3a-8699-d9cd083d6993\"}\n[2026-05-11 10:17:49] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f997c306-a176-4f3a-8699-d9cd083d6993\"}\n[2026-05-11 10:17:49] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f997c306-a176-4f3a-8699-d9cd083d6993\"}\n[2026-05-11 10:17:49] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f997c306-a176-4f3a-8699-d9cd083d6993\"}\n[2026-05-11 10:17:49] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f997c306-a176-4f3a-8699-d9cd083d6993\"}\n[2026-05-11 10:17:49] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":11} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f997c306-a176-4f3a-8699-d9cd083d6993\"}\n[2026-05-11 10:17:49] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612336,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"18efa24c-257e-4842-af7d-5ec20872ab02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612336} {\"correlation_id\":\"18efa24c-257e-4842-af7d-5ec20872ab02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612336,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"18efa24c-257e-4842-af7d-5ec20872ab02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] 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\":\"18efa24c-257e-4842-af7d-5ec20872ab02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"18efa24c-257e-4842-af7d-5ec20872ab02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"18efa24c-257e-4842-af7d-5ec20872ab02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"18efa24c-257e-4842-af7d-5ec20872ab02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"18efa24c-257e-4842-af7d-5ec20872ab02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"18efa24c-257e-4842-af7d-5ec20872ab02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] 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\":\"18efa24c-257e-4842-af7d-5ec20872ab02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"18efa24c-257e-4842-af7d-5ec20872ab02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612360,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"af4fe4e8-53c1-4339-8100-49dadac0f280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612360} {\"correlation_id\":\"af4fe4e8-53c1-4339-8100-49dadac0f280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612360,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"af4fe4e8-53c1-4339-8100-49dadac0f280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] 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\":\"af4fe4e8-53c1-4339-8100-49dadac0f280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"af4fe4e8-53c1-4339-8100-49dadac0f280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"af4fe4e8-53c1-4339-8100-49dadac0f280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"af4fe4e8-53c1-4339-8100-49dadac0f280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"af4fe4e8-53c1-4339-8100-49dadac0f280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"af4fe4e8-53c1-4339-8100-49dadac0f280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] 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\":\"af4fe4e8-53c1-4339-8100-49dadac0f280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":13} {\"correlation_id\":\"af4fe4e8-53c1-4339-8100-49dadac0f280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612339,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"68a001e2-a116-4b5d-b8e7-902d08ada842\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612339} {\"correlation_id\":\"68a001e2-a116-4b5d-b8e7-902d08ada842\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612339,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"68a001e2-a116-4b5d-b8e7-902d08ada842\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] 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\":\"68a001e2-a116-4b5d-b8e7-902d08ada842\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"68a001e2-a116-4b5d-b8e7-902d08ada842\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"68a001e2-a116-4b5d-b8e7-902d08ada842\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"68a001e2-a116-4b5d-b8e7-902d08ada842\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"68a001e2-a116-4b5d-b8e7-902d08ada842\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"68a001e2-a116-4b5d-b8e7-902d08ada842\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] 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\":\"68a001e2-a116-4b5d-b8e7-902d08ada842\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":13} {\"correlation_id\":\"68a001e2-a116-4b5d-b8e7-902d08ada842\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"19bb8a09-8a89-4524-bfc1-e972923a1f2b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611087} {\"correlation_id\":\"19bb8a09-8a89-4524-bfc1-e972923a1f2b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611087,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"19bb8a09-8a89-4524-bfc1-e972923a1f2b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] 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\":\"19bb8a09-8a89-4524-bfc1-e972923a1f2b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"19bb8a09-8a89-4524-bfc1-e972923a1f2b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"19bb8a09-8a89-4524-bfc1-e972923a1f2b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"19bb8a09-8a89-4524-bfc1-e972923a1f2b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"19bb8a09-8a89-4524-bfc1-e972923a1f2b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"19bb8a09-8a89-4524-bfc1-e972923a1f2b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"19bb8a09-8a89-4524-bfc1-e972923a1f2b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"19bb8a09-8a89-4524-bfc1-e972923a1f2b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"dd53be6e-a456-46da-ab7c-c2988301922f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611455} {\"correlation_id\":\"dd53be6e-a456-46da-ab7c-c2988301922f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611455,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dd53be6e-a456-46da-ab7c-c2988301922f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] 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\":\"dd53be6e-a456-46da-ab7c-c2988301922f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dd53be6e-a456-46da-ab7c-c2988301922f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dd53be6e-a456-46da-ab7c-c2988301922f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"dd53be6e-a456-46da-ab7c-c2988301922f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"dd53be6e-a456-46da-ab7c-c2988301922f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"dd53be6e-a456-46da-ab7c-c2988301922f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"dd53be6e-a456-46da-ab7c-c2988301922f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":13} {\"correlation_id\":\"dd53be6e-a456-46da-ab7c-c2988301922f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"4d0438c5-9dc4-4b93-b643-6417ac75f31a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611076} {\"correlation_id\":\"4d0438c5-9dc4-4b93-b643-6417ac75f31a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611076,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4d0438c5-9dc4-4b93-b643-6417ac75f31a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] 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\":\"4d0438c5-9dc4-4b93-b643-6417ac75f31a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4d0438c5-9dc4-4b93-b643-6417ac75f31a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4d0438c5-9dc4-4b93-b643-6417ac75f31a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4d0438c5-9dc4-4b93-b643-6417ac75f31a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4d0438c5-9dc4-4b93-b643-6417ac75f31a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"4d0438c5-9dc4-4b93-b643-6417ac75f31a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"4d0438c5-9dc4-4b93-b643-6417ac75f31a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"4d0438c5-9dc4-4b93-b643-6417ac75f31a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610539} {\"correlation_id\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610539,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] 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\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":1.19,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:17:53] local.WARNING: [Hubspot] No retry-after header or policy name found, using default {\"exception_class\":\"SevenShores\\\\Hubspot\\\\Exceptions\\\\BadRequest\"} {\"correlation_id\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":10,\"policy\":null,\"reason\":\"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\\\":\\\"019e168b-1 (truncated...)\n\"} {\"correlation_id\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"88d5107a-d1a9-4def-8f1f-6ff8bea40516\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610915} {\"correlation_id\":\"88d5107a-d1a9-4def-8f1f-6ff8bea40516\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610915,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"88d5107a-d1a9-4def-8f1f-6ff8bea40516\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] 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\":\"88d5107a-d1a9-4def-8f1f-6ff8bea40516\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"88d5107a-d1a9-4def-8f1f-6ff8bea40516\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"88d5107a-d1a9-4def-8f1f-6ff8bea40516\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"88d5107a-d1a9-4def-8f1f-6ff8bea40516\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"88d5107a-d1a9-4def-8f1f-6ff8bea40516\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"88d5107a-d1a9-4def-8f1f-6ff8bea40516\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"88d5107a-d1a9-4def-8f1f-6ff8bea40516\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":12} {\"correlation_id\":\"88d5107a-d1a9-4def-8f1f-6ff8bea40516\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"9eb70001-f31f-427d-9ecb-d42969509f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610878} {\"correlation_id\":\"9eb70001-f31f-427d-9ecb-d42969509f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610878,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9eb70001-f31f-427d-9ecb-d42969509f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] 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\":\"9eb70001-f31f-427d-9ecb-d42969509f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9eb70001-f31f-427d-9ecb-d42969509f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9eb70001-f31f-427d-9ecb-d42969509f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9eb70001-f31f-427d-9ecb-d42969509f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9eb70001-f31f-427d-9ecb-d42969509f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"9eb70001-f31f-427d-9ecb-d42969509f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"9eb70001-f31f-427d-9ecb-d42969509f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"9eb70001-f31f-427d-9ecb-d42969509f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"b291b19d-e631-4390-a8ce-49431d5f566f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610528} {\"correlation_id\":\"b291b19d-e631-4390-a8ce-49431d5f566f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610528,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b291b19d-e631-4390-a8ce-49431d5f566f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] 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\":\"b291b19d-e631-4390-a8ce-49431d5f566f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b291b19d-e631-4390-a8ce-49431d5f566f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b291b19d-e631-4390-a8ce-49431d5f566f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b291b19d-e631-4390-a8ce-49431d5f566f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b291b19d-e631-4390-a8ce-49431d5f566f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"b291b19d-e631-4390-a8ce-49431d5f566f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"b291b19d-e631-4390-a8ce-49431d5f566f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"b291b19d-e631-4390-a8ce-49431d5f566f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"4b8fb89e-a1a0-4894-81d9-5d1e86570512\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610874} {\"correlation_id\":\"4b8fb89e-a1a0-4894-81d9-5d1e86570512\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610874,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4b8fb89e-a1a0-4894-81d9-5d1e86570512\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] 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\":\"4b8fb89e-a1a0-4894-81d9-5d1e86570512\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4b8fb89e-a1a0-4894-81d9-5d1e86570512\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4b8fb89e-a1a0-4894-81d9-5d1e86570512\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4b8fb89e-a1a0-4894-81d9-5d1e86570512\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4b8fb89e-a1a0-4894-81d9-5d1e86570512\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"4b8fb89e-a1a0-4894-81d9-5d1e86570512\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"4b8fb89e-a1a0-4894-81d9-5d1e86570512\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"4b8fb89e-a1a0-4894-81d9-5d1e86570512\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"f27f33ba-8caa-49a5-9cad-cd8293e9a7db\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610497} {\"correlation_id\":\"f27f33ba-8caa-49a5-9cad-cd8293e9a7db\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610497,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f27f33ba-8caa-49a5-9cad-cd8293e9a7db\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] 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\":\"f27f33ba-8caa-49a5-9cad-cd8293e9a7db\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f27f33ba-8caa-49a5-9cad-cd8293e9a7db\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f27f33ba-8caa-49a5-9cad-cd8293e9a7db\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f27f33ba-8caa-49a5-9cad-cd8293e9a7db\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f27f33ba-8caa-49a5-9cad-cd8293e9a7db\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"f27f33ba-8caa-49a5-9cad-cd8293e9a7db\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"f27f33ba-8caa-49a5-9cad-cd8293e9a7db\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":12} {\"correlation_id\":\"f27f33ba-8caa-49a5-9cad-cd8293e9a7db\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"af6121c1-ef51-49a6-acda-bb121812831a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610617} {\"correlation_id\":\"af6121c1-ef51-49a6-acda-bb121812831a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610617,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"af6121c1-ef51-49a6-acda-bb121812831a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] 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\":\"af6121c1-ef51-49a6-acda-bb121812831a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"af6121c1-ef51-49a6-acda-bb121812831a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"af6121c1-ef51-49a6-acda-bb121812831a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"af6121c1-ef51-49a6-acda-bb121812831a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"af6121c1-ef51-49a6-acda-bb121812831a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"af6121c1-ef51-49a6-acda-bb121812831a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"af6121c1-ef51-49a6-acda-bb121812831a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"af6121c1-ef51-49a6-acda-bb121812831a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"7c89eb2a-2a39-463f-abad-6b13e5fed935\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610885} {\"correlation_id\":\"7c89eb2a-2a39-463f-abad-6b13e5fed935\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610885,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7c89eb2a-2a39-463f-abad-6b13e5fed935\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] 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\":\"7c89eb2a-2a39-463f-abad-6b13e5fed935\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7c89eb2a-2a39-463f-abad-6b13e5fed935\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7c89eb2a-2a39-463f-abad-6b13e5fed935\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"7c89eb2a-2a39-463f-abad-6b13e5fed935\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"7c89eb2a-2a39-463f-abad-6b13e5fed935\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"7c89eb2a-2a39-463f-abad-6b13e5fed935\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"7c89eb2a-2a39-463f-abad-6b13e5fed935\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":13} {\"correlation_id\":\"7c89eb2a-2a39-463f-abad-6b13e5fed935\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:56] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"9c37e4f5-1e21-4f96-86d0-2d8f2ce76d49\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:56] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610867} {\"correlation_id\":\"9c37e4f5-1e21-4f96-86d0-2d8f2ce76d49\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:56] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610867,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9c37e4f5-1e21-4f96-86d0-2d8f2ce76d49\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:56] 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\":\"9c37e4f5-1e21-4f96-86d0-2d8f2ce76d49\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:56] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9c37e4f5-1e21-4f96-86d0-2d8f2ce76d49\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:56] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9c37e4f5-1e21-4f96-86d0-2d8f2ce76d49\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:56] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9c37e4f5-1e21-4f96-86d0-2d8f2ce76d49\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:56] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9c37e4f5-1e21-4f96-86d0-2d8f2ce76d49\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:56] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"9c37e4f5-1e21-4f96-86d0-2d8f2ce76d49\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:56] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"9c37e4f5-1e21-4f96-86d0-2d8f2ce76d49\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:56] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":12} {\"correlation_id\":\"9c37e4f5-1e21-4f96-86d0-2d8f2ce76d49\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"5a0ad4cc-8cdd-4f1e-8bae-a70a2f7b7280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610490} {\"correlation_id\":\"5a0ad4cc-8cdd-4f1e-8bae-a70a2f7b7280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610490,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5a0ad4cc-8cdd-4f1e-8bae-a70a2f7b7280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] 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\":\"5a0ad4cc-8cdd-4f1e-8bae-a70a2f7b7280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5a0ad4cc-8cdd-4f1e-8bae-a70a2f7b7280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5a0ad4cc-8cdd-4f1e-8bae-a70a2f7b7280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"5a0ad4cc-8cdd-4f1e-8bae-a70a2f7b7280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"5a0ad4cc-8cdd-4f1e-8bae-a70a2f7b7280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"5a0ad4cc-8cdd-4f1e-8bae-a70a2f7b7280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] 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\":\"5a0ad4cc-8cdd-4f1e-8bae-a70a2f7b7280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] 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\":\"5a0ad4cc-8cdd-4f1e-8bae-a70a2f7b7280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"5a0ad4cc-8cdd-4f1e-8bae-a70a2f7b7280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"9884d6bc-6966-4c2b-b123-bd6bff97b920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610451} {\"correlation_id\":\"9884d6bc-6966-4c2b-b123-bd6bff97b920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9884d6bc-6966-4c2b-b123-bd6bff97b920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] 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\":\"9884d6bc-6966-4c2b-b123-bd6bff97b920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9884d6bc-6966-4c2b-b123-bd6bff97b920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9884d6bc-6966-4c2b-b123-bd6bff97b920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9884d6bc-6966-4c2b-b123-bd6bff97b920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9884d6bc-6966-4c2b-b123-bd6bff97b920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"9884d6bc-6966-4c2b-b123-bd6bff97b920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"9884d6bc-6966-4c2b-b123-bd6bff97b920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"9884d6bc-6966-4c2b-b123-bd6bff97b920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] 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}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"a7f9bc7e-977e-4032-820f-1e0b80c6214f\"}\n[2026-05-11 10:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"a7f9bc7e-977e-4032-820f-1e0b80c6214f\"}\n[2026-05-11 10:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"a7f9bc7e-977e-4032-820f-1e0b80c6214f\"}\n[2026-05-11 10:17:58] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"a7f9bc7e-977e-4032-820f-1e0b80c6214f\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"a7f9bc7e-977e-4032-820f-1e0b80c6214f\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"a7f9bc7e-977e-4032-820f-1e0b80c6214f\"}\n[2026-05-11 10:17:58] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"a7f9bc7e-977e-4032-820f-1e0b80c6214f\"}\n[2026-05-11 10:17:58] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"a7f9bc7e-977e-4032-820f-1e0b80c6214f\"}\n[2026-05-11 10:17:58] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"a7f9bc7e-977e-4032-820f-1e0b80c6214f\"}\n[2026-05-11 10:17:58] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"a7f9bc7e-977e-4032-820f-1e0b80c6214f\"}\n[2026-05-11 10:17:58] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"4674593f-9f44-4f03-8474-ff0a7926a543\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610764} {\"correlation_id\":\"4674593f-9f44-4f03-8474-ff0a7926a543\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610764,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4674593f-9f44-4f03-8474-ff0a7926a543\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] 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\":\"4674593f-9f44-4f03-8474-ff0a7926a543\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4674593f-9f44-4f03-8474-ff0a7926a543\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4674593f-9f44-4f03-8474-ff0a7926a543\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4674593f-9f44-4f03-8474-ff0a7926a543\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4674593f-9f44-4f03-8474-ff0a7926a543\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"4674593f-9f44-4f03-8474-ff0a7926a543\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"4674593f-9f44-4f03-8474-ff0a7926a543\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"4674593f-9f44-4f03-8474-ff0a7926a543\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"9c459c55-c8be-453e-9540-0477f5134f6f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610506} {\"correlation_id\":\"9c459c55-c8be-453e-9540-0477f5134f6f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610506,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9c459c55-c8be-453e-9540-0477f5134f6f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] 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\":\"9c459c55-c8be-453e-9540-0477f5134f6f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9c459c55-c8be-453e-9540-0477f5134f6f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9c459c55-c8be-453e-9540-0477f5134f6f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9c459c55-c8be-453e-9540-0477f5134f6f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9c459c55-c8be-453e-9540-0477f5134f6f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"9c459c55-c8be-453e-9540-0477f5134f6f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"9c459c55-c8be-453e-9540-0477f5134f6f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":10} {\"correlation_id\":\"9c459c55-c8be-453e-9540-0477f5134f6f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"52ae8415-fd35-4109-8db4-45893cf37c4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610403} {\"correlation_id\":\"52ae8415-fd35-4109-8db4-45893cf37c4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610403,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"52ae8415-fd35-4109-8db4-45893cf37c4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] 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\":\"52ae8415-fd35-4109-8db4-45893cf37c4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"52ae8415-fd35-4109-8db4-45893cf37c4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"52ae8415-fd35-4109-8db4-45893cf37c4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"52ae8415-fd35-4109-8db4-45893cf37c4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"52ae8415-fd35-4109-8db4-45893cf37c4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"52ae8415-fd35-4109-8db4-45893cf37c4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"52ae8415-fd35-4109-8db4-45893cf37c4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"52ae8415-fd35-4109-8db4-45893cf37c4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] 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}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3693e67e-875d-4232-a495-1621a90bf41a\"}\n[2026-05-11 10:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3693e67e-875d-4232-a495-1621a90bf41a\"}\n[2026-05-11 10:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3693e67e-875d-4232-a495-1621a90bf41a\"}\n[2026-05-11 10:17:58] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3693e67e-875d-4232-a495-1621a90bf41a\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3693e67e-875d-4232-a495-1621a90bf41a\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3693e67e-875d-4232-a495-1621a90bf41a\"}\n[2026-05-11 10:17:58] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3693e67e-875d-4232-a495-1621a90bf41a\"}\n[2026-05-11 10:17:58] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3693e67e-875d-4232-a495-1621a90bf41a\"}\n[2026-05-11 10:17:58] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3693e67e-875d-4232-a495-1621a90bf41a\"}\n[2026-05-11 10:17:58] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3693e67e-875d-4232-a495-1621a90bf41a\"}\n[2026-05-11 10:17:58] 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}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"56a279f5-3276-4781-9691-6ac712992a03\"}\n[2026-05-11 10:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"56a279f5-3276-4781-9691-6ac712992a03\"}\n[2026-05-11 10:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"56a279f5-3276-4781-9691-6ac712992a03\"}\n[2026-05-11 10:17:58] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"56a279f5-3276-4781-9691-6ac712992a03\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"56a279f5-3276-4781-9691-6ac712992a03\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"56a279f5-3276-4781-9691-6ac712992a03\"}\n[2026-05-11 10:17:58] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"56a279f5-3276-4781-9691-6ac712992a03\"}\n[2026-05-11 10:17:58] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"56a279f5-3276-4781-9691-6ac712992a03\"}\n[2026-05-11 10:17:59] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"56a279f5-3276-4781-9691-6ac712992a03\"}\n[2026-05-11 10:17:59] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"56a279f5-3276-4781-9691-6ac712992a03\"}\n[2026-05-11 10:17:59] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"2149fff4-fc50-4b5e-8346-f4fe92446383\"}\n[2026-05-11 10:17:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612562} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"2149fff4-fc50-4b5e-8346-f4fe92446383\"}\n[2026-05-11 10:17:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612562,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"2149fff4-fc50-4b5e-8346-f4fe92446383\"}\n[2026-05-11 10:17:59] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"2149fff4-fc50-4b5e-8346-f4fe92446383\"}\n[2026-05-11 10:17:59] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"2149fff4-fc50-4b5e-8346-f4fe92446383\"}\n[2026-05-11 10:17:59] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"2149fff4-fc50-4b5e-8346-f4fe92446383\"}\n[2026-05-11 10:17:59] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"2149fff4-fc50-4b5e-8346-f4fe92446383\"}\n[2026-05-11 10:17:59] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"2149fff4-fc50-4b5e-8346-f4fe92446383\"}\n[2026-05-11 10:17:59] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"2149fff4-fc50-4b5e-8346-f4fe92446383\"}\n[2026-05-11 10:17:59] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"2149fff4-fc50-4b5e-8346-f4fe92446383\"}\n[2026-05-11 10:17:59] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"6c488719-2433-44c2-be14-6234030389cb\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610438} {\"correlation_id\":\"6c488719-2433-44c2-be14-6234030389cb\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610438,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"6c488719-2433-44c2-be14-6234030389cb\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:59] 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\":\"6c488719-2433-44c2-be14-6234030389cb\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:59] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.31,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:17:59] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6c488719-2433-44c2-be14-6234030389cb\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:59] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6c488719-2433-44c2-be14-6234030389cb\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:59] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"6c488719-2433-44c2-be14-6234030389cb\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:59] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"6c488719-2433-44c2-be14-6234030389cb\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:59] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"6c488719-2433-44c2-be14-6234030389cb\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:59] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"6c488719-2433-44c2-be14-6234030389cb\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:59] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":13} {\"correlation_id\":\"6c488719-2433-44c2-be14-6234030389cb\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:00] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612819,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"af37fbba-e927-4df9-840b-3ede48a1d911\"}\n[2026-05-11 10:18:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"af37fbba-e927-4df9-840b-3ede48a1d911\"}\n[2026-05-11 10:18:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"af37fbba-e927-4df9-840b-3ede48a1d911\"}\n[2026-05-11 10:18:00] 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\":null,\"contact_id\":null,\"lead_id\":null}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"af37fbba-e927-4df9-840b-3ede48a1d911\"}\n[2026-05-11 10:18:00] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"af37fbba-e927-4df9-840b-3ede48a1d911\"}\n[2026-05-11 10:18:00] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"af37fbba-e927-4df9-840b-3ede48a1d911\"}\n[2026-05-11 10:18:00] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"af37fbba-e927-4df9-840b-3ede48a1d911\"}\n[2026-05-11 10:18:00] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"af37fbba-e927-4df9-840b-3ede48a1d911\"}\n[2026-05-11 10:18:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"af37fbba-e927-4df9-840b-3ede48a1d911\"}\n[2026-05-11 10:18:00] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612819,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"af37fbba-e927-4df9-840b-3ede48a1d911\"}\n[2026-05-11 10:18:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"af37fbba-e927-4df9-840b-3ede48a1d911\"}\n[2026-05-11 10:18:00] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"af37fbba-e927-4df9-840b-3ede48a1d911\"}\n[2026-05-11 10:18:00] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612847,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"534825cf-e6d0-42f8-8ff6-18fee9ebbcf9\"}\n[2026-05-11 10:18:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"534825cf-e6d0-42f8-8ff6-18fee9ebbcf9\"}\n[2026-05-11 10:18:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"534825cf-e6d0-42f8-8ff6-18fee9ebbcf9\"}\n[2026-05-11 10:18:00] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612847,\"participants\":[{\"id\":1000130,\"user_id\":null,\"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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"534825cf-e6d0-42f8-8ff6-18fee9ebbcf9\"}\n[2026-05-11 10:18:00] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"534825cf-e6d0-42f8-8ff6-18fee9ebbcf9\"}\n[2026-05-11 10:18:00] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"534825cf-e6d0-42f8-8ff6-18fee9ebbcf9\"}\n[2026-05-11 10:18:00] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"534825cf-e6d0-42f8-8ff6-18fee9ebbcf9\"}\n[2026-05-11 10:18:00] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"534825cf-e6d0-42f8-8ff6-18fee9ebbcf9\"}\n[2026-05-11 10:18:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"534825cf-e6d0-42f8-8ff6-18fee9ebbcf9\"}\n[2026-05-11 10:18:00] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"534825cf-e6d0-42f8-8ff6-18fee9ebbcf9\"}\n[2026-05-11 10:18:00] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"13c3f8a7-53c0-490e-915d-f30216c6fae9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610470} {\"correlation_id\":\"13c3f8a7-53c0-490e-915d-f30216c6fae9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610470,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"13c3f8a7-53c0-490e-915d-f30216c6fae9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:00] 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\":\"13c3f8a7-53c0-490e-915d-f30216c6fae9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:00] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"13c3f8a7-53c0-490e-915d-f30216c6fae9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:00] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"13c3f8a7-53c0-490e-915d-f30216c6fae9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:00] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"13c3f8a7-53c0-490e-915d-f30216c6fae9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:00] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"13c3f8a7-53c0-490e-915d-f30216c6fae9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"13c3f8a7-53c0-490e-915d-f30216c6fae9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:00] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"13c3f8a7-53c0-490e-915d-f30216c6fae9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:00] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"13c3f8a7-53c0-490e-915d-f30216c6fae9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"785d023d-231c-4c69-9e14-64b9f386cd8a\"}\n[2026-05-11 10:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610900} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"785d023d-231c-4c69-9e14-64b9f386cd8a\"}\n[2026-05-11 10:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610900,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"785d023d-231c-4c69-9e14-64b9f386cd8a\"}\n[2026-05-11 10:18:01] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"785d023d-231c-4c69-9e14-64b9f386cd8a\"}\n[2026-05-11 10:18:01] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"785d023d-231c-4c69-9e14-64b9f386cd8a\"}\n[2026-05-11 10:18:01] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"785d023d-231c-4c69-9e14-64b9f386cd8a\"}\n[2026-05-11 10:18:01] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"785d023d-231c-4c69-9e14-64b9f386cd8a\"}\n[2026-05-11 10:18:01] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"785d023d-231c-4c69-9e14-64b9f386cd8a\"}\n[2026-05-11 10:18:01] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"785d023d-231c-4c69-9e14-64b9f386cd8a\"}\n[2026-05-11 10:18:01] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"785d023d-231c-4c69-9e14-64b9f386cd8a\"}\n[2026-05-11 10:18:01] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"aea37783-669f-433b-aac7-ead252f60285\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610426} {\"correlation_id\":\"aea37783-669f-433b-aac7-ead252f60285\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610426,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"aea37783-669f-433b-aac7-ead252f60285\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] 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\":\"aea37783-669f-433b-aac7-ead252f60285\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aea37783-669f-433b-aac7-ead252f60285\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aea37783-669f-433b-aac7-ead252f60285\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"aea37783-669f-433b-aac7-ead252f60285\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"aea37783-669f-433b-aac7-ead252f60285\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"aea37783-669f-433b-aac7-ead252f60285\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"aea37783-669f-433b-aac7-ead252f60285\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":10} {\"correlation_id\":\"aea37783-669f-433b-aac7-ead252f60285\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73386989-234b-4074-93cd-b907d73fb039\"}\n[2026-05-11 10:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610935} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73386989-234b-4074-93cd-b907d73fb039\"}\n[2026-05-11 10:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610935,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73386989-234b-4074-93cd-b907d73fb039\"}\n[2026-05-11 10:18:01] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73386989-234b-4074-93cd-b907d73fb039\"}\n[2026-05-11 10:18:01] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73386989-234b-4074-93cd-b907d73fb039\"}\n[2026-05-11 10:18:01] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73386989-234b-4074-93cd-b907d73fb039\"}\n[2026-05-11 10:18:01] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73386989-234b-4074-93cd-b907d73fb039\"}\n[2026-05-11 10:18:01] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73386989-234b-4074-93cd-b907d73fb039\"}\n[2026-05-11 10:18:01] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73386989-234b-4074-93cd-b907d73fb039\"}\n[2026-05-11 10:18:01] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73386989-234b-4074-93cd-b907d73fb039\"}\n[2026-05-11 10:18:01] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"67837137-7da9-4fc3-807c-fa87dbcc5090\"}\n[2026-05-11 10:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612560} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"67837137-7da9-4fc3-807c-fa87dbcc5090\"}\n[2026-05-11 10:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612560,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"67837137-7da9-4fc3-807c-fa87dbcc5090\"}\n[2026-05-11 10:18:01] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"67837137-7da9-4fc3-807c-fa87dbcc5090\"}\n[2026-05-11 10:18:01] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"67837137-7da9-4fc3-807c-fa87dbcc5090\"}\n[2026-05-11 10:18:01] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"67837137-7da9-4fc3-807c-fa87dbcc5090\"}\n[2026-05-11 10:18:01] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"67837137-7da9-4fc3-807c-fa87dbcc5090\"}\n[2026-05-11 10:18:01] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"67837137-7da9-4fc3-807c-fa87dbcc5090\"}\n[2026-05-11 10:18:01] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"67837137-7da9-4fc3-807c-fa87dbcc5090\"}\n[2026-05-11 10:18:01] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"67837137-7da9-4fc3-807c-fa87dbcc5090\"}\n[2026-05-11 10:18:01] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1d0c22f1-5e71-452c-94ab-4a7ba39ee8be\"}\n[2026-05-11 10:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612561} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1d0c22f1-5e71-452c-94ab-4a7ba39ee8be\"}\n[2026-05-11 10:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612561,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1d0c22f1-5e71-452c-94ab-4a7ba39ee8be\"}\n[2026-05-11 10:18:01] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1d0c22f1-5e71-452c-94ab-4a7ba39ee8be\"}\n[2026-05-11 10:18:01] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1d0c22f1-5e71-452c-94ab-4a7ba39ee8be\"}\n[2026-05-11 10:18:01] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1d0c22f1-5e71-452c-94ab-4a7ba39ee8be\"}\n[2026-05-11 10:18:01] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1d0c22f1-5e71-452c-94ab-4a7ba39ee8be\"}\n[2026-05-11 10:18:01] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1d0c22f1-5e71-452c-94ab-4a7ba39ee8be\"}\n[2026-05-11 10:18:01] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612561,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1d0c22f1-5e71-452c-94ab-4a7ba39ee8be\"}\n[2026-05-11 10:18:01] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1d0c22f1-5e71-452c-94ab-4a7ba39ee8be\"}\n[2026-05-11 10:18:01] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1d0c22f1-5e71-452c-94ab-4a7ba39ee8be\"}\n[2026-05-11 10:18:01] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"5e4163ac-fdc7-49df-89de-383bf3f5bcd4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610462} {\"correlation_id\":\"5e4163ac-fdc7-49df-89de-383bf3f5bcd4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610462,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5e4163ac-fdc7-49df-89de-383bf3f5bcd4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] 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\":\"5e4163ac-fdc7-49df-89de-383bf3f5bcd4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5e4163ac-fdc7-49df-89de-383bf3f5bcd4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5e4163ac-fdc7-49df-89de-383bf3f5bcd4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"5e4163ac-fdc7-49df-89de-383bf3f5bcd4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"5e4163ac-fdc7-49df-89de-383bf3f5bcd4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"5e4163ac-fdc7-49df-89de-383bf3f5bcd4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"5e4163ac-fdc7-49df-89de-383bf3f5bcd4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":10} {\"correlation_id\":\"5e4163ac-fdc7-49df-89de-383bf3f5bcd4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:02] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":614378,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":6167,\"account_id\":null,\"opportunity_id\":null,\"stage_id\":null}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9476099f-6f93-4402-b763-b075c4f8ed44\"}\n[2026-05-11 10:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9476099f-6f93-4402-b763-b075c4f8ed44\"}\n[2026-05-11 10:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9476099f-6f93-4402-b763-b075c4f8ed44\"}\n[2026-05-11 10:18:02] 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\":6167,\"lead_id\":null},{\"id\":1002625,\"user_id\":89,\"contact_id\":null,\"lead_id\":null}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9476099f-6f93-4402-b763-b075c4f8ed44\"}\n[2026-05-11 10:18:02] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9476099f-6f93-4402-b763-b075c4f8ed44\"}\n[2026-05-11 10:18:02] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9476099f-6f93-4402-b763-b075c4f8ed44\"}\n[2026-05-11 10:18:02] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9476099f-6f93-4402-b763-b075c4f8ed44\"}\n[2026-05-11 10:18:02] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9476099f-6f93-4402-b763-b075c4f8ed44\"}\n[2026-05-11 10:18:02] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9476099f-6f93-4402-b763-b075c4f8ed44\"}\n[2026-05-11 10:18:02] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9476099f-6f93-4402-b763-b075c4f8ed44\"}\n[2026-05-11 10:18:03] 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}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7e0e12d1-b270-490b-848b-763e373c90e0\"}\n[2026-05-11 10:18:03] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7e0e12d1-b270-490b-848b-763e373c90e0\"}\n[2026-05-11 10:18:03] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7e0e12d1-b270-490b-848b-763e373c90e0\"}\n[2026-05-11 10:18:03] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7e0e12d1-b270-490b-848b-763e373c90e0\"}\n[2026-05-11 10:18:03] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7e0e12d1-b270-490b-848b-763e373c90e0\"}\n[2026-05-11 10:18:03] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7e0e12d1-b270-490b-848b-763e373c90e0\"}\n[2026-05-11 10:18:03] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7e0e12d1-b270-490b-848b-763e373c90e0\"}\n[2026-05-11 10:18:03] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7e0e12d1-b270-490b-848b-763e373c90e0\"}\n[2026-05-11 10:18:03] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7e0e12d1-b270-490b-848b-763e373c90e0\"}\n[2026-05-11 10:18:03] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7e0e12d1-b270-490b-848b-763e373c90e0\"}\n[2026-05-11 10:18: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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"adaf1f1e-8477-469f-86c9-9c59d2623f11\"}\n[2026-05-11 10:18:03] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611451} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"adaf1f1e-8477-469f-86c9-9c59d2623f11\"}\n[2026-05-11 10:18:03] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"adaf1f1e-8477-469f-86c9-9c59d2623f11\"}\n[2026-05-11 10:18: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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"adaf1f1e-8477-469f-86c9-9c59d2623f11\"}\n[2026-05-11 10:18:03] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"adaf1f1e-8477-469f-86c9-9c59d2623f11\"}\n[2026-05-11 10:18:03] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"adaf1f1e-8477-469f-86c9-9c59d2623f11\"}\n[2026-05-11 10:18:03] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"adaf1f1e-8477-469f-86c9-9c59d2623f11\"}\n[2026-05-11 10:18:03] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"adaf1f1e-8477-469f-86c9-9c59d2623f11\"}\n[2026-05-11 10:18:03] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"adaf1f1e-8477-469f-86c9-9c59d2623f11\"}\n[2026-05-11 10:18:03] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"adaf1f1e-8477-469f-86c9-9c59d2623f11\"}\n[2026-05-11 10:18:03] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612336,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1235043b-578e-49e0-9ebe-230be6d9a8f8\"}\n[2026-05-11 10:18:03] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612336} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1235043b-578e-49e0-9ebe-230be6d9a8f8\"}\n[2026-05-11 10:18:03] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612336,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1235043b-578e-49e0-9ebe-230be6d9a8f8\"}\n[2026-05-11 10:18:03] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1235043b-578e-49e0-9ebe-230be6d9a8f8\"}\n[2026-05-11 10:18:03] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1235043b-578e-49e0-9ebe-230be6d9a8f8\"}\n[2026-05-11 10:18:03] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1235043b-578e-49e0-9ebe-230be6d9a8f8\"}\n[2026-05-11 10:18:03] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1235043b-578e-49e0-9ebe-230be6d9a8f8\"}\n[2026-05-11 10:18:03] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1235043b-578e-49e0-9ebe-230be6d9a8f8\"}\n[2026-05-11 10:18:03] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1235043b-578e-49e0-9ebe-230be6d9a8f8\"}\n[2026-05-11 10:18:03] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612336,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1235043b-578e-49e0-9ebe-230be6d9a8f8\"}\n[2026-05-11 10:18:04] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610539} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610539,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:04] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:04] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:04] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:04] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:04] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.47,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:18: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.3,\"average_seconds_per_request\":0.3} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:05] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:05] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:05] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:05] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:05] 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}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18: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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:06] 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\":\"1042ef38-481f-4e55-9261-bb89ceb4cd6f\",\"trace_id\":\"3cbbfc20-36d7-4827-9e77-e5ea12d34c82\"}\n[2026-05-11 10:18:06] local.INFO: [ScheduleBotCommand] Number of activities to be captured: 0 {\"correlation_id\":\"1042ef38-481f-4e55-9261-bb89ceb4cd6f\",\"trace_id\":\"3cbbfc20-36d7-4827-9e77-e5ea12d34c82\"}\n[2026-05-11 10:18:06] 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\":\"1042ef38-481f-4e55-9261-bb89ceb4cd6f\",\"trace_id\":\"3cbbfc20-36d7-4827-9e77-e5ea12d34c82\"}\n[2026-05-11 10:18: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\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610539,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610539} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610539,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:06] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18: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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610878} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610878,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18: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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:06] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:06] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18: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\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610878,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610878} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610878,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:07] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:07] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612340,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612340} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612340,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612340,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] 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.25,\"average_seconds_per_request\":0.25} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] 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.48,\"average_seconds_per_request\":0.48} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612340,\"participants_processed\":4,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612340} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612340,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:08] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612360,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612360} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612360,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612360,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612360,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612360} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612360,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612339,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612339} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612339,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612339,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612339,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612339} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612339,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611455} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611455,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:08] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:08] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:08] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:08] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:08] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:08] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:08] 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\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:08] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:09] 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.66,\"average_seconds_per_request\":0.66} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:09] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:09] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:09] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:09] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"dialers:monitor-activities\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"e0173b67-adc7-4861-acea-33ec563fa8bc\",\"trace_id\":\"df5cbecf-dde1-4674-82c8-8b7a2f4b74de\"}\n[2026-05-11 10:18:09] 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\":\"e0173b67-adc7-4861-acea-33ec563fa8bc\",\"trace_id\":\"df5cbecf-dde1-4674-82c8-8b7a2f4b74de\"}\n[2026-05-11 10:18:09] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:09] 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}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:09] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.3,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:18:09] 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.26,\"average_seconds_per_request\":0.26} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":611455,\"team_id\":2,\"email\":\"aneliya.angelova@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611455,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611455} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611455,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:10] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:10] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610915} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610915,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610915,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610915,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610915} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610915,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610528} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610528,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610528,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610528,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610528} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610528,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611087} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611087,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":611087,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611087,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611087} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611087,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611076} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611076,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":611076,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611076,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611076} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611076,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610497} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610497,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610497,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610497,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610497} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610497,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610867} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610867,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610867,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610867,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610867} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610867,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610490} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610490,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610490,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610490,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610490} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610490,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610506} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610506,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610506,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610506,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610506} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610506,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610885} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610885,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610885,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610885,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610885} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610885,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610874} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610874,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610874,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610874,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610874} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610874,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610617} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610617,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610617,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610617,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610617} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610617,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] 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\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] 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\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] 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\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] 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\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] local.NOTICE: Monitoring start {\"correlation_id\":\"f1c8fc03-337f-4edb-a859-cd9fb18b900e\",\"trace_id\":\"503eff58-a255-4b63-9001-481d9a9bd530\"}\n[2026-05-11 10:18:11] 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\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] local.NOTICE: Monitoring end {\"correlation_id\":\"f1c8fc03-337f-4edb-a859-cd9fb18b900e\",\"trace_id\":\"503eff58-a255-4b63-9001-481d9a9bd530\"}\n[2026-05-11 10:18:12] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:12] 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\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:12] 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.42,\"average_seconds_per_request\":0.42} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:14] 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\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:14] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614382,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:14] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:14] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] 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\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] 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\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"correlation_id\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] 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\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] 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\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614381,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"correlation_id\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] 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\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.55,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:18:15] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610426} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610426,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610426,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610426,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610426} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610426,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:16] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612560} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612560,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] 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\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] 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\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] 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\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] 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\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"447782589921@txt.staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:17] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:17] 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\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:17] 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.23,\"average_seconds_per_request\":0.23} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:17] 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\":\"4f01fa5e-5837-4b03-af04-ccad937f80f4\",\"trace_id\":\"7ea236cf-a366-4cea-8e77-3417ec22eac5\"}\n[2026-05-11 10:18:18] 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\":\"4f01fa5e-5837-4b03-af04-ccad937f80f4\",\"trace_id\":\"7ea236cf-a366-4cea-8e77-3417ec22eac5\"}\n[2026-05-11 10:18:18] 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\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612560,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612560} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612560,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] 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\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610462} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610462,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610462,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610462,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610462} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610462,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612819,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] 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\":null,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":261} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":299} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] 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\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] 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\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] 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\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] 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\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"adelina.petrova@jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:19] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:19] 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\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:19] 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.23,\"average_seconds_per_request\":0.23} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:19] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:process\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"add7477b-8e9d-44ef-9c16-cf763d7fd973\",\"trace_id\":\"0a4036d4-4c6b-4724-8efb-d8375a7dfe6a\"}\n[2026-05-11 10:18:19] local.INFO: [EmailSchedule] STARTING batch process {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"add7477b-8e9d-44ef-9c16-cf763d7fd973\",\"trace_id\":\"0a4036d4-4c6b-4724-8efb-d8375a7dfe6a\"}\n[2026-05-11 10:18:19] local.INFO: [EmailSchedule] FINISHED batch process {\"host\":\"docker_lamp_1\",\"processed\":0} {\"correlation_id\":\"add7477b-8e9d-44ef-9c16-cf763d7fd973\",\"trace_id\":\"0a4036d4-4c6b-4724-8efb-d8375a7dfe6a\"}\n[2026-05-11 10:18:19] 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\":\"add7477b-8e9d-44ef-9c16-cf763d7fd973\",\"trace_id\":\"0a4036d4-4c6b-4724-8efb-d8375a7dfe6a\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612819,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612847,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612847,\"participants\":[{\"id\":1000130,\"user_id\":null,\"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\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"adelina.petrova@jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612847,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610451} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610451,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610451,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610451} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612562} {\"correlation_id\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612562,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"correlation_id\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"447782589921@txt.staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612562,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612562} {\"correlation_id\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612562,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610764} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610764,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610764,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610764,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610764} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610764,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] 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\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"correlation_id\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614436,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"correlation_id\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610438} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610438,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610438,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610438,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610438} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610438,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] 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\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"correlation_id\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":615092,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"correlation_id\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.23,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:18:20] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610403} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610403,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610403,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610403,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610403} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610403,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610935} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610935,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610935,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610935} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610935,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610470} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610470,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610470,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610470,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610470} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610470,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610900} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610900,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610900,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610900} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610900,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":614378,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":6167,\"account_id\":null,\"opportunity_id\":null,\"stage_id\":null}} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":6167,\"lead_id\":null},{\"id\":1002625,\"user_id\":89,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nmalchev@gmail.com\"} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614378,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612561} {\"correlation_id\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612561,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\"} {\"correlation_id\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612561,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612561} {\"correlation_id\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612561,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612336,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612336} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612336,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":243,\"contact_id\":4491,\"owner_id\":206} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":243,\"contact_id\":4491} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":243,\"contact_id\":4491,\"opportunity_id\":276} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612336,\"participants_processed\":4,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612336} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612336,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611451} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611451,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611451} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:monitor:count\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"5cd332f8-5b05-4813-bf28-dc3f5c776c31\",\"trace_id\":\"9d576391-5ec6-47d4-9c55-77e4dc0e5881\"}\n[2026-05-11 10:18:21] local.INFO: Running conference:monitor:count command for activities in (2026-05-11 10:16:00, 2026-05-11 10:18:00] {\"correlation_id\":\"5cd332f8-5b05-4813-bf28-dc3f5c776c31\",\"trace_id\":\"9d576391-5ec6-47d4-9c55-77e4dc0e5881\"}\n[2026-05-11 10:18:21] local.INFO: [conference:monitor:count] No activities found in (2026-05-11 10:16:00, 2026-05-11 10:18:00] {\"correlation_id\":\"5cd332f8-5b05-4813-bf28-dc3f5c776c31\",\"trace_id\":\"9d576391-5ec6-47d4-9c55-77e4dc0e5881\"}\n[2026-05-11 10:18:21] 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\":\"5cd332f8-5b05-4813-bf28-dc3f5c776c31\",\"trace_id\":\"9d576391-5ec6-47d4-9c55-77e4dc0e5881\"}\n[2026-05-11 10:18:25] 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\":\"5d165f52-8b9b-49f4-826c-5e6effb36469\",\"trace_id\":\"8d23eb87-94aa-45be-a25c-60adf651f65b\"}\n[2026-05-11 10:18:26] 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\":\"5d165f52-8b9b-49f4-826c-5e6effb36469\",\"trace_id\":\"8d23eb87-94aa-45be-a25c-60adf651f65b\"}\n[2026-05-11 10:18:26] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.38,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:19:05] 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\":\"b818863b-2a43-41d9-8ff6-fee7c3d716bc\",\"trace_id\":\"247ba4af-b613-440c-94fe-1c5b9acb9a49\"}\n[2026-05-11 10:19:05] local.INFO: [ScheduleBotCommand] Number of activities to be captured: 0 {\"correlation_id\":\"b818863b-2a43-41d9-8ff6-fee7c3d716bc\",\"trace_id\":\"247ba4af-b613-440c-94fe-1c5b9acb9a49\"}\n[2026-05-11 10:19:05] 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\":\"b818863b-2a43-41d9-8ff6-fee7c3d716bc\",\"trace_id\":\"247ba4af-b613-440c-94fe-1c5b9acb9a49\"}\n[2026-05-11 10:19:07] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"dialers:monitor-activities\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"ebc86a92-142f-437d-993d-b5babcf2cc26\",\"trace_id\":\"afbbde14-96ad-42a5-a9b8-acbb3e1d637a\"}\n[2026-05-11 10:19:07] 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\":\"ebc86a92-142f-437d-993d-b5babcf2cc26\",\"trace_id\":\"afbbde14-96ad-42a5-a9b8-acbb3e1d637a\"}\n[2026-05-11 10:19:08] local.NOTICE: Monitoring start {\"correlation_id\":\"e77a8f39-a88c-4046-abe4-817093d395f4\",\"trace_id\":\"17ae50a2-26b7-48ab-a9a4-1188e484d567\"}\n[2026-05-11 10:19:08] local.NOTICE: Monitoring end {\"correlation_id\":\"e77a8f39-a88c-4046-abe4-817093d395f4\",\"trace_id\":\"17ae50a2-26b7-48ab-a9a4-1188e484d567\"}\n[2026-05-11 10:19: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\":\"82c9f998-b4ec-42a5-9114-b34b4ef4418e\",\"trace_id\":\"398aab71-a970-4adb-bfd2-e7003c988e9b\"}\n[2026-05-11 10:19: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\":\"82c9f998-b4ec-42a5-9114-b34b4ef4418e\",\"trace_id\":\"398aab71-a970-4adb-bfd2-e7003c988e9b\"}\n[2026-05-11 10:19:10] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:process\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"00ff8a16-df56-4dbe-89ee-949f1fec10ae\",\"trace_id\":\"48f7dab8-39b8-47ff-badc-9e61a319de61\"}\n[2026-05-11 10:19:10] local.INFO: [EmailSchedule] STARTING batch process {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"00ff8a16-df56-4dbe-89ee-949f1fec10ae\",\"trace_id\":\"48f7dab8-39b8-47ff-badc-9e61a319de61\"}\n[2026-05-11 10:19:10] local.INFO: [EmailSchedule] FINISHED batch process {\"host\":\"docker_lamp_1\",\"processed\":0} {\"correlation_id\":\"00ff8a16-df56-4dbe-89ee-949f1fec10ae\",\"trace_id\":\"48f7dab8-39b8-47ff-badc-9e61a319de61\"}\n[2026-05-11 10:19:10] 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\":\"00ff8a16-df56-4dbe-89ee-949f1fec10ae\",\"trace_id\":\"48f7dab8-39b8-47ff-badc-9e61a319de61\"}","role_description":"text entry area","is_enabled":true,"is_focused":false,"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}]...
|
-3521216925342156230
|
2919994867551517044
|
click
|
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
3
68
3
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Services\Crm\Hubspot;
use HubSpot\Client\Crm\Deals\ApiException as DealApiException;
use HubSpot\Client\Crm\Contacts\ApiException as ContactApiException;
use HubSpot\Client\Crm\Companies\ApiException as CompanyApiException;
use HubSpot\Client\Crm\Contacts\Model\SimplePublicObjectWithAssociations as ContactsWithAssociations;
use HubSpot\Client\Crm\Companies\Model\SimplePublicObjectWithAssociations as CompaniesWithAssociations;
use HubSpot\Client\Crm\Deals\Model\SimplePublicObjectWithAssociations as DealWithAssociations;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectInput;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectWithAssociations as ObjectWithAssociations;
use HubSpot\Client\Crm\Pipelines\Model\Error;
use HubSpot\Client\Crm\Pipelines\Model\PipelineStage;
use HubSpot\Client\Crm\Properties\Model\Property;
use HubSpot\Discovery\Discovery;
use Jiminny\Exceptions\CrmException;
use Jiminny\Exceptions\RateLimitException;
use Jiminny\Exceptions\SocialAccountTokenInvalidException;
use Jiminny\Jobs\Crm\NoteObject;
use Jiminny\Models\Crm\Field;
use Jiminny\Services\Crm\BaseClient;
use Jiminny\Services\Crm\Hubspot\DTO\Response\Owner;
use Jiminny\Services\SocialAccountService;
use SevenShores\Hubspot\Exceptions\BadRequest;
use SevenShores\Hubspot\Exceptions\HubspotException;
use SevenShores\Hubspot\Factory;
use SevenShores\Hubspot\Http\Response;
use Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService;
use Illuminate\Support\Facades\Redis;
use Throwable;
/**
* @phpstan-type 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)
{
$cacheKey = $this->getRateLimitCacheKey();
$cachedRetryAfter = Redis::get($cacheKey);
if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {
throw new RateLimitException(
'Hubspot rate limit (cached circuit-breaker)',
(int) $cachedRetryAfter,
);
}
try {
return $apiCall();
} catch (Throwable $e) {
if ($this->isHubspotRateLimit($e)) {
$retryAfter = $this->parseRetryAfter($e);
Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);
$this->log->warning('[Hubspot] Received 429 from API', [
'team_id' => $this->config->team_id,
'config_id' => $this->config->getId(),
'retry_after' => $retryAfter,
'policy' => $this->parsePolicy($e),
'reason' => $e->getMessage(),
]);
throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);
}
throw $e;
}
}
private function getRateLimitCacheKey(): string
{
return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());
}
public function isHubspotRateLimit(Throwable $e): bool
{
if ($e instanceof BadRequest
|| $e instanceof DealApiException
|| $e instanceof ContactApiException
|| $e instanceof CompanyApiException
|| $e instanceof \GuzzleHttp\Exception\RequestException
) {
return (int) $e->getCode() === 429;
}
return false;
}
public function parseRetryAfter(Throwable $e): int
{
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$e ' . PHP_EOL . print_r($e, true));
return 10;
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;
}
}
$policy = $this->parsePolicy($e);
if ($policy === 'TEN_SECONDLY_ROLLING') {
return 10;
}
if ($policy === 'SECONDLY') {
return 1;
}
if ($policy === 'DAILY_LIMIT') {
return 600;
}
$this->log->warning('[Hubspot] No retry-after header or policy name found, using default', [
'exception_class' => get_class($e),
]);
return 10;
}
public function parsePolicy(Throwable $e): ?string
{
if (! method_exists($e, 'getResponseBody')) {
return null;
}
$body = $e->getResponseBody();
if (is_string($body)) {
$body = json_decode($body, true) ?? [];
}
if (! is_array($body)) {
return null;
}
$policy = $body['policyName'] ?? $body['policy'] ?? $body['context']['policyName'] ?? null;
return is_string($policy) ? strtoupper($policy) : null;
}
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
);
}
/**
* Execute a search request against HubSpot CRM objects with rate limiting.
*
* @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')
* @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.
* @return array The search response with 'results', 'total', 'paging' keys
* @throws RateLimitException When rate limit is hit
* @throws HubspotException On API errors
*/
public function search(string $objectType, array $payload): array
{
$endpoint = self::BASE_URL . "/crm/v3/objects/{$objectType}/search";
return $this->executeRequest(function () use ($endpoint, $payload) {
$response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);
return $response->toArray();
});
}
/**
* @throws DealApiException
* @throws CrmException
*/
public function getOpportunityById(string $crmId, array $fields): array
{
try {
// $deal = $this->executeRequest(fn () => $this->getNewInstance()->crm()->deals()->basicApi()->getById(
$deal = $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') {
return $this->getInstance()->getClient()?->request(
method: $method,
endpoint: $endpoint,
query_string: $queryString
);
} else {
return $this->getInstance()->getClient()->request($method, $endpoint, [
'json' => ($payload),
]);
}
}
/**
* @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 (RateLimitException $e) {
// throw $e;
} 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);
}
}
Show Replace Field
Search History
Received 429 from API
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/5
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Sync Changes
Hide This Notification
Code changed:
Hide
399
Previous Highlighted Error
Next Highlighted Error
[2026-05-11 10:17:03] 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":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:03] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":615092} {"correlation_id":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:03] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":615092,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:03] 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":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:03] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:03] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:03] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:03] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:03] local.INFO: [Prospect match] Cache miss, calling the API {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:03] 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":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:03] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.WARNING: [Hubspot] No retry-after header or policy name found, using default {"exception_class":"SevenShores\\Hubspot\\Exceptions\\BadRequest"} {"correlation_id":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.WARNING: [Hubspot] Received 429 from API {"team_id":2,"config_id":2,"retry_after":10,"policy":null,"reason":"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\":\"019e168a-5 (truncated...)
"} {"correlation_id":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":10,"delay":14} {"correlation_id":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] 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":"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614436} {"correlation_id":"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614436,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] 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":"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":10,"delay":14} {"correlation_id":"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] 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":"78f847cf-6495-4054-b3d4-e179a133bd42","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614382} {"correlation_id":"78f847cf-6495-4054-b3d4-e179a133bd42","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614382,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"78f847cf-6495-4054-b3d4-e179a133bd42","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] 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":"78f847cf-6495-4054-b3d4-e179a133bd42","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"78f847cf-6495-4054-b3d4-e179a133bd42","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"78f847cf-6495-4054-b3d4-e179a133bd42","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"78f847cf-6495-4054-b3d4-e179a133bd42","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"78f847cf-6495-4054-b3d4-e179a133bd42","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"78f847cf-6495-4054-b3d4-e179a133bd42","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"78f847cf-6495-4054-b3d4-e179a133bd42","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":10,"delay":11} {"correlation_id":"78f847cf-6495-4054-b3d4-e179a133bd42","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] 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":"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614381} {"correlation_id":"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614381,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] 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":"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":10,"delay":11} {"correlation_id":"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [MatchActivityCrmData] Starting CRM data matching {"activity":614378,"remote_search":true,"set_configuration":2,"old_state":{"lead_id":null,"contact_id":6167,"account_id":null,"opportunity_id":null,"stage_id":null}} {"correlation_id":"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614378} {"correlation_id":"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614378,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] 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":6167,"lead_id":null},{"id":1002625,"user_id":89,"contact_id":null,"lead_id":null}]} ...
|
17399
|
NULL
|
NULL
|
NULL
|
|
17401
|
NULL
|
0
|
2026-05-11T10:21:50.572178+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778494910572_m2.jpg...
|
PhpStorm
|
faVsco.js – Client.php
|
1
|
NULL
|
monitor_2
|
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
3
68
3
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Services\Crm\Hubspot;
use HubSpot\Client\Crm\Deals\ApiException as DealApiException;
use HubSpot\Client\Crm\Contacts\ApiException as ContactApiException;
use HubSpot\Client\Crm\Companies\ApiException as CompanyApiException;
use HubSpot\Client\Crm\Contacts\Model\SimplePublicObjectWithAssociations as ContactsWithAssociations;
use HubSpot\Client\Crm\Companies\Model\SimplePublicObjectWithAssociations as CompaniesWithAssociations;
use HubSpot\Client\Crm\Deals\Model\SimplePublicObjectWithAssociations as DealWithAssociations;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectInput;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectWithAssociations as ObjectWithAssociations;
use HubSpot\Client\Crm\Pipelines\Model\Error;
use HubSpot\Client\Crm\Pipelines\Model\PipelineStage;
use HubSpot\Client\Crm\Properties\Model\Property;
use HubSpot\Discovery\Discovery;
use Jiminny\Exceptions\CrmException;
use Jiminny\Exceptions\RateLimitException;
use Jiminny\Exceptions\SocialAccountTokenInvalidException;
use Jiminny\Jobs\Crm\NoteObject;
use Jiminny\Models\Crm\Field;
use Jiminny\Services\Crm\BaseClient;
use Jiminny\Services\Crm\Hubspot\DTO\Response\Owner;
use Jiminny\Services\SocialAccountService;
use SevenShores\Hubspot\Exceptions\BadRequest;
use SevenShores\Hubspot\Exceptions\HubspotException;
use SevenShores\Hubspot\Factory;
use SevenShores\Hubspot\Http\Response;
use Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService;
use Illuminate\Support\Facades\Redis;
use Throwable;
/**
* @phpstan-type 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)
{
$cacheKey = $this->getRateLimitCacheKey();
$cachedRetryAfter = Redis::get($cacheKey);
if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {
throw new RateLimitException(
'Hubspot rate limit (cached circuit-breaker)',
(int) $cachedRetryAfter,
);
}
try {
return $apiCall();
} catch (Throwable $e) {
if ($this->isHubspotRateLimit($e)) {
$retryAfter = $this->parseRetryAfter($e);
Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);
$this->log->warning('[Hubspot] Received 429 from API', [
'team_id' => $this->config->team_id,
'config_id' => $this->config->getId(),
'retry_after' => $retryAfter,
'policy' => $this->parsePolicy($e),
'reason' => $e->getMessage(),
]);
throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);
}
throw $e;
}
}
private function getRateLimitCacheKey(): string
{
return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());
}
public function isHubspotRateLimit(Throwable $e): bool
{
if ($e instanceof BadRequest
|| $e instanceof DealApiException
|| $e instanceof ContactApiException
|| $e instanceof CompanyApiException
|| $e instanceof \GuzzleHttp\Exception\RequestException
) {
return (int) $e->getCode() === 429;
}
return false;
}
public function parseRetryAfter(Throwable $e): int
{
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$e ' . PHP_EOL . print_r($e, true));
return 10;
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;
}
}
$policy = $this->parsePolicy($e);
if ($policy === 'TEN_SECONDLY_ROLLING') {
return 10;
}
if ($policy === 'SECONDLY') {
return 1;
}
if ($policy === 'DAILY_LIMIT') {
return 600;
}
$this->log->warning('[Hubspot] No retry-after header or policy name found, using default', [
'exception_class' => get_class($e),
]);
return 10;
}
public function parsePolicy(Throwable $e): ?string
{
if (! method_exists($e, 'getResponseBody')) {
return null;
}
$body = $e->getResponseBody();
if (is_string($body)) {
$body = json_decode($body, true) ?? [];
}
if (! is_array($body)) {
return null;
}
$policy = $body['policyName'] ?? $body['policy'] ?? $body['context']['policyName'] ?? null;
return is_string($policy) ? strtoupper($policy) : null;
}
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
);
}
/**
* Execute a search request against HubSpot CRM objects with rate limiting.
*
* @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')
* @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.
* @return array The search response with 'results', 'total', 'paging' keys
* @throws RateLimitException When rate limit is hit
* @throws HubspotException On API errors
*/
public function search(string $objectType, array $payload): array
{
$endpoint = self::BASE_URL . "/crm/v3/objects/{$objectType}/search";
return $this->executeRequest(function () use ($endpoint, $payload) {
$response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);
return $response->toArray();
});
}
/**
* @throws DealApiException
* @throws CrmException
*/
public function getOpportunityById(string $crmId, array $fields): array
{
try {
// $deal = $this->executeRequest(fn () => $this->getNewInstance()->crm()->deals()->basicApi()->getById(
$deal = $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') {
return $this->getInstance()->getClient()?->request(
method: $method,
endpoint: $endpoint,
query_string: $queryString
);
} else {
return $this->getInstance()->getClient()->request($method, $endpoint, [
'json' => ($payload),
]);
}
}
/**
* @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 (RateLimitException $e) {
// throw $e;
} 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);
}
}
Show Replace Field
Search History
Received 429 from API
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/5
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Sync Changes
Hide This Notification
Code changed:
Hide
399
Previous Highlighted Error
Next Highlighted Error
[2026-05-11 10:17:03] 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":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:03] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":615092} {"correlation_id":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:03] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":615092,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:03] 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":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:03] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:03] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:03] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:03] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:03] local.INFO: [Prospect match] Cache miss, calling the API {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:03] 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":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:03] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.WARNING: [Hubspot] No retry-after header or policy name found, using default {"exception_class":"SevenShores\\Hubspot\\Exceptions\\BadRequest"} {"correlation_id":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.WARNING: [Hubspot] Received 429 from API {"team_id":2,"config_id":2,"retry_after":10,"policy":null,"reason":"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\":\"019e168a-5 (truncated...)
"} {"correlation_id":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":10,"delay":14} {"correlation_id":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] 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":"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614436} {"correlation_id":"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614436,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] 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":"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":10,"delay":14} {"correlation_id":"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] 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":"78f847cf-6495-4054-b3d4-e179a133bd42","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614382} {"correlation_id":"78f847cf-6495-4054-b3d4-e179a133bd42","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614382,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"78f847cf-6495-4054-b3d4-e179a133bd42","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] 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":"78f847cf-6495-4054-b3d4-e179a133bd42","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"78f847cf-6495-4054-b3d4-e179a133bd42","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"78f847cf-6495-4054-b3d4-e179a133bd42","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"78f847cf-6495-4054-b3d4-e179a133bd42","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"78f847cf-6495-4054-b3d4-e179a133bd42","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"78f847cf-6495-4054-b3d4-e179a133bd42","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"78f847cf-6495-4054-b3d4-e179a133bd42","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":10,"delay":11} {"correlation_id":"78f847cf-6495-4054-b3d4-e179a133bd42","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] 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":"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614381} {"correlation_id":"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614381,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] 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":"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":10,"delay":11} {"correlation_id":"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [MatchActivityCrmData] Starting CRM data matching {"activity":614378,"remote_search":true,"set_configuration":2,"old_state":{"lead_id":null,"contact_id":6167,"account_id":null,"opportunity_id":null,"stage_id":null}} {"correlation_id":"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614378} {"correlation_id":"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614378,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] 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":6167,"lead_id":null},{"id":1002625,"user_id":89,"contact_id":null,"lead_id":null}]} ...
|
[{"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":"JY-20725-handle-HS-search-rate-limit, menu","depth":5,"bounds":{"left":0.064494684,"top":0.019952115,"width":0.09541223,"height":0.025538707},"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,"bounds":{"left":0.82413566,"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":"HandleHubspotRateLimitTest","depth":6,"bounds":{"left":0.8394282,"top":0.019952115,"width":0.076130316,"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 'HandleHubspotRateLimitTest'","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 'HandleHubspotRateLimitTest'","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":"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":"3","depth":4,"bounds":{"left":0.5515292,"top":0.17478053,"width":0.007978723,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"68","depth":4,"bounds":{"left":0.56150264,"top":0.17478053,"width":0.010305851,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":4,"bounds":{"left":0.5738032,"top":0.17478053,"width":0.007978723,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.5834442,"top":0.17318435,"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.59075797,"top":0.17318435,"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":"<?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\\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 Illuminate\\Support\\Facades\\Redis;\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\n public function __construct(\n SocialAccountService $socialAccountService,\n HubspotPaginationService $paginationService,\n HubspotTokenManager $tokenManager\n ) {\n parent::__construct($socialAccountService);\n $this->paginationService = $paginationService;\n $this->tokenManager = $tokenManager;\n\n $this->setBaseUrl(self::BASE_URL);\n $this->setVersion(self::MIN_API_VERSION);\n }\n\n /**\n * Reacts to a rate limits (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 $cacheKey = $this->getRateLimitCacheKey();\n\n $cachedRetryAfter = Redis::get($cacheKey);\n if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {\n throw new RateLimitException(\n 'Hubspot rate limit (cached circuit-breaker)',\n (int) $cachedRetryAfter,\n );\n }\n\n try {\n return $apiCall();\n } catch (Throwable $e) {\n if ($this->isHubspotRateLimit($e)) {\n $retryAfter = $this->parseRetryAfter($e);\n\n Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);\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 'policy' => $this->parsePolicy($e),\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 getRateLimitCacheKey(): string\n {\n return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());\n }\n\n public function isHubspotRateLimit(Throwable $e): bool\n {\n if ($e instanceof BadRequest\n || $e instanceof DealApiException\n || $e instanceof ContactApiException\n || $e instanceof CompanyApiException\n || $e instanceof \\GuzzleHttp\\Exception\\RequestException\n ) {\n return (int) $e->getCode() === 429;\n }\n\n return false;\n }\n\n public function parseRetryAfter(Throwable $e): int\n {\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$e ' . PHP_EOL . print_r($e, true));\n return 10;\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 $policy = $this->parsePolicy($e);\n if ($policy === 'TEN_SECONDLY_ROLLING') {\n return 10;\n }\n if ($policy === 'SECONDLY') {\n return 1;\n }\n if ($policy === 'DAILY_LIMIT') {\n return 600;\n }\n\n $this->log->warning('[Hubspot] No retry-after header or policy name found, using default', [\n 'exception_class' => get_class($e),\n ]);\n\n return 10;\n }\n\n public function parsePolicy(Throwable $e): ?string\n {\n if (! method_exists($e, 'getResponseBody')) {\n return null;\n }\n\n $body = $e->getResponseBody();\n if (is_string($body)) {\n $body = json_decode($body, true) ?? [];\n }\n\n if (! is_array($body)) {\n return null;\n }\n\n $policy = $body['policyName'] ?? $body['policy'] ?? $body['context']['policyName'] ?? null;\n\n return is_string($policy) ? strtoupper($policy) : null;\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 * Execute a search request against HubSpot CRM objects with rate limiting.\n *\n * @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')\n * @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.\n * @return array The search response with 'results', 'total', 'paging' keys\n * @throws RateLimitException When rate limit is hit\n * @throws HubspotException On API errors\n */\n public function search(string $objectType, array $payload): array\n {\n $endpoint = self::BASE_URL . \"/crm/v3/objects/{$objectType}/search\";\n\n return $this->executeRequest(function () use ($endpoint, $payload) {\n $response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);\n\n return $response->toArray();\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 $deal = $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 return $this->getInstance()->getClient()?->request(\n method: $method,\n endpoint: $endpoint,\n query_string: $queryString\n );\n } else {\n return $this->getInstance()->getClient()->request($method, $endpoint, [\n 'json' => ($payload),\n ]);\n }\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 (RateLimitException $e) {\n// throw $e;\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\\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 Illuminate\\Support\\Facades\\Redis;\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\n public function __construct(\n SocialAccountService $socialAccountService,\n HubspotPaginationService $paginationService,\n HubspotTokenManager $tokenManager\n ) {\n parent::__construct($socialAccountService);\n $this->paginationService = $paginationService;\n $this->tokenManager = $tokenManager;\n\n $this->setBaseUrl(self::BASE_URL);\n $this->setVersion(self::MIN_API_VERSION);\n }\n\n /**\n * Reacts to a rate limits (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 $cacheKey = $this->getRateLimitCacheKey();\n\n $cachedRetryAfter = Redis::get($cacheKey);\n if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {\n throw new RateLimitException(\n 'Hubspot rate limit (cached circuit-breaker)',\n (int) $cachedRetryAfter,\n );\n }\n\n try {\n return $apiCall();\n } catch (Throwable $e) {\n if ($this->isHubspotRateLimit($e)) {\n $retryAfter = $this->parseRetryAfter($e);\n\n Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);\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 'policy' => $this->parsePolicy($e),\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 getRateLimitCacheKey(): string\n {\n return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());\n }\n\n public function isHubspotRateLimit(Throwable $e): bool\n {\n if ($e instanceof BadRequest\n || $e instanceof DealApiException\n || $e instanceof ContactApiException\n || $e instanceof CompanyApiException\n || $e instanceof \\GuzzleHttp\\Exception\\RequestException\n ) {\n return (int) $e->getCode() === 429;\n }\n\n return false;\n }\n\n public function parseRetryAfter(Throwable $e): int\n {\n \\Illuminate\\Support\\Facades\\Log::channel('custom_channel')->info('$e ' . PHP_EOL . print_r($e, true));\n return 10;\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 $policy = $this->parsePolicy($e);\n if ($policy === 'TEN_SECONDLY_ROLLING') {\n return 10;\n }\n if ($policy === 'SECONDLY') {\n return 1;\n }\n if ($policy === 'DAILY_LIMIT') {\n return 600;\n }\n\n $this->log->warning('[Hubspot] No retry-after header or policy name found, using default', [\n 'exception_class' => get_class($e),\n ]);\n\n return 10;\n }\n\n public function parsePolicy(Throwable $e): ?string\n {\n if (! method_exists($e, 'getResponseBody')) {\n return null;\n }\n\n $body = $e->getResponseBody();\n if (is_string($body)) {\n $body = json_decode($body, true) ?? [];\n }\n\n if (! is_array($body)) {\n return null;\n }\n\n $policy = $body['policyName'] ?? $body['policy'] ?? $body['context']['policyName'] ?? null;\n\n return is_string($policy) ? strtoupper($policy) : null;\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 * Execute a search request against HubSpot CRM objects with rate limiting.\n *\n * @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')\n * @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.\n * @return array The search response with 'results', 'total', 'paging' keys\n * @throws RateLimitException When rate limit is hit\n * @throws HubspotException On API errors\n */\n public function search(string $objectType, array $payload): array\n {\n $endpoint = self::BASE_URL . \"/crm/v3/objects/{$objectType}/search\";\n\n return $this->executeRequest(function () use ($endpoint, $payload) {\n $response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);\n\n return $response->toArray();\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 $deal = $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 return $this->getInstance()->getClient()?->request(\n method: $method,\n endpoint: $endpoint,\n query_string: $queryString\n );\n } else {\n return $this->getInstance()->getClient()->request($method, $endpoint, [\n 'json' => ($payload),\n ]);\n }\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 (RateLimitException $e) {\n// throw $e;\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":"AXButton","text":"Show Replace Field","depth":4,"bounds":{"left":0.60206115,"top":0.08060654,"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":"AXCheckBox","text":"Search History","depth":3,"bounds":{"left":0.6146942,"top":0.07980846,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"Received 429 from API","depth":4,"bounds":{"left":0.6256649,"top":0.07980846,"width":0.0631649,"height":0.015961692},"on_screen":true,"value":"Received 429 from API","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"New Line","depth":3,"bounds":{"left":0.6978058,"top":0.07980846,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Match Case","depth":3,"bounds":{"left":0.7077792,"top":0.07980846,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Words","depth":3,"bounds":{"left":0.71642286,"top":0.07980846,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Regex","depth":3,"bounds":{"left":0.7250665,"top":0.07980846,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Replace History","depth":3,"bounds":{"left":0.27027926,"top":1.0,"width":0.00731383,"height":0.0},"on_screen":false,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextField","text":"Replace","depth":4,"on_screen":false,"role_description":"text field","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"New Line","depth":3,"bounds":{"left":0.27027926,"top":1.0,"width":0.00731383,"height":0.0},"on_screen":false,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Preserve case","depth":3,"bounds":{"left":0.27027926,"top":1.0,"width":0.00731383,"height":0.0},"on_screen":false,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"1/5","depth":4,"bounds":{"left":0.7386968,"top":0.079010375,"width":0.025598405,"height":0.017557861},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Occurrence","depth":4,"bounds":{"left":0.7642952,"top":0.07821229,"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":"Next Occurrence","depth":4,"bounds":{"left":0.77293885,"top":0.07821229,"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":"Filter Search Results","depth":4,"bounds":{"left":0.7815825,"top":0.07821229,"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 in Window, Multiple Cursors","depth":4,"bounds":{"left":0.79022604,"top":0.07821229,"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":"AXLink","text":"Click to highlight","depth":4,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":4,"bounds":{"left":0.97539896,"top":0.07821229,"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":"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":"399","depth":4,"bounds":{"left":0.95977396,"top":0.10933759,"width":0.012632979,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.9740692,"top":0.10774142,"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.98138297,"top":0.10774142,"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":"[2026-05-11 10:17:03] 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\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:03] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"correlation_id\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:03] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:03] 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\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:03] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:03] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:03] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:03] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:03] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:03] 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\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:03] 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\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.WARNING: [Hubspot] No retry-after header or policy name found, using default {\"exception_class\":\"SevenShores\\\\Hubspot\\\\Exceptions\\\\BadRequest\"} {\"correlation_id\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":10,\"policy\":null,\"reason\":\"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\\\":\\\"019e168a-5 (truncated...)\n\"} {\"correlation_id\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"correlation_id\":\"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"78f847cf-6495-4054-b3d4-e179a133bd42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"correlation_id\":\"78f847cf-6495-4054-b3d4-e179a133bd42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"78f847cf-6495-4054-b3d4-e179a133bd42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"78f847cf-6495-4054-b3d4-e179a133bd42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"78f847cf-6495-4054-b3d4-e179a133bd42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"78f847cf-6495-4054-b3d4-e179a133bd42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"78f847cf-6495-4054-b3d4-e179a133bd42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"78f847cf-6495-4054-b3d4-e179a133bd42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"78f847cf-6495-4054-b3d4-e179a133bd42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"78f847cf-6495-4054-b3d4-e179a133bd42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"78f847cf-6495-4054-b3d4-e179a133bd42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"correlation_id\":\"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":614378,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":6167,\"account_id\":null,\"opportunity_id\":null,\"stage_id\":null}} {\"correlation_id\":\"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"correlation_id\":\"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":6167,\"lead_id\":null},{\"id\":1002625,\"user_id\":89,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613840,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613840} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613840,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":261} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":299} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613840,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613840} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613840,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613833,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613833} {\"correlation_id\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613833,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613833,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613833} {\"correlation_id\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613833,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613827,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613827} {\"correlation_id\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613827,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613827,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613827} {\"correlation_id\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613827,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613826,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613826} {\"correlation_id\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613826,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613826,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613826} {\"correlation_id\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613826,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613820,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613820} {\"correlation_id\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613820,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613820,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613820} {\"correlation_id\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613820,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613818,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613818} {\"correlation_id\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613818,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613818,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613818} {\"correlation_id\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613818,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613812,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613812} {\"correlation_id\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613812,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613812,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613812} {\"correlation_id\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613812,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613807,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4484,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613807} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613807,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":4484,\"lead_id\":null}]} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":243,\"contact_id\":4484,\"owner_id\":253} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":243,\"contact_id\":4484} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":243,\"contact_id\":4484,\"opportunity_id\":276} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"tsvetomir.banovski@gmail.com\"} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613807,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613807} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613807,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613806,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613806} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613806,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":253} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":244,\"contact_id\":4487} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":350} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613806,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613806} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613806,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613805,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613805} {\"correlation_id\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613805,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613805,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613805} {\"correlation_id\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613805,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613698,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613698} {\"correlation_id\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613698,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613698,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613698} {\"correlation_id\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613698,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613697,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613697} {\"correlation_id\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613697,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613697,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613697} {\"correlation_id\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613697,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613696,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613696} {\"correlation_id\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613696,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613696,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613696} {\"correlation_id\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613696,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613695,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613695} {\"correlation_id\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613695,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613695,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613695} {\"correlation_id\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613695,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613694,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613694} {\"correlation_id\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613694,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613694,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613694} {\"correlation_id\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613694,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613157,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613157} {\"correlation_id\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613157,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613157,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613157} {\"correlation_id\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613157,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613156,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613156} {\"correlation_id\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613156,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613156,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613156} {\"correlation_id\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613156,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613155,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613155} {\"correlation_id\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613155,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613155,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613155} {\"correlation_id\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613155,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613130,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613130} {\"correlation_id\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613130,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613130,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613130} {\"correlation_id\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613130,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":165,\"stage_id\":89}} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612924} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612924,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":69,\"contact_id\":97,\"owner_id\":19} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":69,\"contact_id\":97,\"opportunity_id\":165} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612924,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612924} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612924,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":165,\"stage_id\":89}} {\"correlation_id\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612923} {\"correlation_id\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612923,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612923,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612923} {\"correlation_id\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612923,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":165,\"stage_id\":89}} {\"correlation_id\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612922} {\"correlation_id\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612922,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612922,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612922} {\"correlation_id\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612922,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612847,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"e1add09a-4136-4471-aaab-635ce3913944\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"correlation_id\":\"e1add09a-4136-4471-aaab-635ce3913944\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e1add09a-4136-4471-aaab-635ce3913944\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612847,\"participants\":[{\"id\":1000130,\"user_id\":null,\"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\":\"e1add09a-4136-4471-aaab-635ce3913944\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e1add09a-4136-4471-aaab-635ce3913944\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e1add09a-4136-4471-aaab-635ce3913944\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e1add09a-4136-4471-aaab-635ce3913944\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e1add09a-4136-4471-aaab-635ce3913944\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"e1add09a-4136-4471-aaab-635ce3913944\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"e1add09a-4136-4471-aaab-635ce3913944\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"e1add09a-4136-4471-aaab-635ce3913944\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"e1add09a-4136-4471-aaab-635ce3913944\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612822,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612822} {\"correlation_id\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612822,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612822,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612822} {\"correlation_id\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612822,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612819,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"correlation_id\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":null,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612673,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612673} {\"correlation_id\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612673,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612673,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612673} {\"correlation_id\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612673,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612642,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612642} {\"correlation_id\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612642,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612642,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612642} {\"correlation_id\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612642,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612598} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612598,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":243,\"contact_id\":4491,\"owner_id\":206} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":243,\"contact_id\":4491} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":243,\"contact_id\":4491,\"opportunity_id\":276} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612598,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612598} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612598,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612597} {\"correlation_id\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612597,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612597,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612597} {\"correlation_id\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612597,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612596} {\"correlation_id\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612596,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612596,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612596} {\"correlation_id\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612596,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612595} {\"correlation_id\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612595,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612595,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612595} {\"correlation_id\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612595,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612594} {\"correlation_id\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612594,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612594,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612594} {\"correlation_id\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612594,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612593} {\"correlation_id\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612593,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612593,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612593} {\"correlation_id\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612593,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612592} {\"correlation_id\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612592,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"4a8732a4-99b7-41d1-b7b2-eca5b5e48e29\",\"trace_id\":\"61c44eed-65c5-4e52-a175-3bee690af53c\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612592,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612592} {\"correlation_id\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612592,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ScheduleBotCommand] Number of activities to be captured: 0 {\"correlation_id\":\"4a8732a4-99b7-41d1-b7b2-eca5b5e48e29\",\"trace_id\":\"61c44eed-65c5-4e52-a175-3bee690af53c\"}\n[2026-05-11 10:17:07] 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\":\"4a8732a4-99b7-41d1-b7b2-eca5b5e48e29\",\"trace_id\":\"61c44eed-65c5-4e52-a175-3bee690af53c\"}\n[2026-05-11 10:17:07] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612591} {\"correlation_id\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612591,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612591,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612591} {\"correlation_id\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612591,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612590} {\"correlation_id\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612590,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612590,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612590} {\"correlation_id\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612590,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612589} {\"correlation_id\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612589,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612589,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612589} {\"correlation_id\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612589,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612588} {\"correlation_id\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612588,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612588,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612588} {\"correlation_id\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612588,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612587} {\"correlation_id\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612587,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612587,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612587} {\"correlation_id\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612587,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612586} {\"correlation_id\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612586,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612586,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612586} {\"correlation_id\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612586,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612585} {\"correlation_id\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612585,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612585,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612585} {\"correlation_id\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612585,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612584} {\"correlation_id\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612584,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612584,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612584} {\"correlation_id\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612584,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612583} {\"correlation_id\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612583,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612583,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612583} {\"correlation_id\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612583,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612582} {\"correlation_id\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612582,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612582,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612582} {\"correlation_id\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612582,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612581} {\"correlation_id\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612581,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612581,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612581} {\"correlation_id\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612581,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612565} {\"correlation_id\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612565,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] 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\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] 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\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612565,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612565} {\"correlation_id\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612565,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] 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\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] 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\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612563} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612563,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] 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\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] 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\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":206} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":244,\"contact_id\":4487} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":350} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612563,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612563} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612563,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] 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\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"b3bfac4d-fb8a-4113-a07a-e949910a9e3f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612562} {\"correlation_id\":\"b3bfac4d-fb8a-4113-a07a-e949910a9e3f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612562,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b3bfac4d-fb8a-4113-a07a-e949910a9e3f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] 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\":\"b3bfac4d-fb8a-4113-a07a-e949910a9e3f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b3bfac4d-fb8a-4113-a07a-e949910a9e3f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b3bfac4d-fb8a-4113-a07a-e949910a9e3f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b3bfac4d-fb8a-4113-a07a-e949910a9e3f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b3bfac4d-fb8a-4113-a07a-e949910a9e3f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"correlation_id\":\"b3bfac4d-fb8a-4113-a07a-e949910a9e3f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] 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\":\"b3bfac4d-fb8a-4113-a07a-e949910a9e3f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] 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\":\"b3bfac4d-fb8a-4113-a07a-e949910a9e3f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":10} {\"correlation_id\":\"b3bfac4d-fb8a-4113-a07a-e949910a9e3f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612561} {\"correlation_id\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612561,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] 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\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] 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\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\"} {\"correlation_id\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:11] 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\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:11] 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\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:11] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":13} {\"correlation_id\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:12] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"55d42510-0a7f-49da-92bb-3d7d04f519e0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:12] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612560} {\"correlation_id\":\"55d42510-0a7f-49da-92bb-3d7d04f519e0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:12] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612560,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"55d42510-0a7f-49da-92bb-3d7d04f519e0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:12] 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\":\"55d42510-0a7f-49da-92bb-3d7d04f519e0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:12] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"55d42510-0a7f-49da-92bb-3d7d04f519e0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:12] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"55d42510-0a7f-49da-92bb-3d7d04f519e0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:12] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"55d42510-0a7f-49da-92bb-3d7d04f519e0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:12] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"55d42510-0a7f-49da-92bb-3d7d04f519e0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:12] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"correlation_id\":\"55d42510-0a7f-49da-92bb-3d7d04f519e0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:12] 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\":\"55d42510-0a7f-49da-92bb-3d7d04f519e0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:12] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"55d42510-0a7f-49da-92bb-3d7d04f519e0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612559} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612559,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] 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\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] 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\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":69,\"contact_id\":97,\"owner_id\":206} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":69,\"contact_id\":97} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":69,\"contact_id\":97,\"opportunity_id\":5011} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612559,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612559} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612559,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] 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\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612558} {\"correlation_id\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612558,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] 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\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] 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\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612558,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612558} {\"correlation_id\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612558,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] 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\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:15] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:15] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612557} {\"correlation_id\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:15] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612557,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:15] 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\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:16] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:16] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:16] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:16] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:16] 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\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:16] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:16] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612557,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:16] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612557} {\"correlation_id\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:16] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612557,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:16] 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\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612556} {\"correlation_id\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612556,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] 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\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] 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\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612556,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612556} {\"correlation_id\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612556,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] 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\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:18] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612555} {\"correlation_id\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:18] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612555,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:18] 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\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:18] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:18] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:18] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:18] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:18] 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\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:18] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:18] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612555,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:18] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612555} {\"correlation_id\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:18] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612555,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] 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\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":11.49,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:17:19] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612554} {\"correlation_id\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612554,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] 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\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] 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\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612554,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612554} {\"correlation_id\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612554,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] 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\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612553} {\"correlation_id\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612553,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] 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\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] 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\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612553,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612553} {\"correlation_id\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612553,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] 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\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612552} {\"correlation_id\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612552,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] 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\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] 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\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612552,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612552} {\"correlation_id\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612552,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] 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\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612551} {\"correlation_id\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612551,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] 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\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612551,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612551} {\"correlation_id\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612551,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612550} {\"correlation_id\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612550,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612550,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612550} {\"correlation_id\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612550,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612549} {\"correlation_id\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612549,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612549,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612549} {\"correlation_id\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612549,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612365,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612365} {\"correlation_id\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612365,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612365,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612365} {\"correlation_id\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612365,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612360,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612360} {\"correlation_id\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612360,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] 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\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] 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\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] local.WARNING: [Hubspot] No retry-after header or policy name found, using default {\"exception_class\":\"SevenShores\\\\Hubspot\\\\Exceptions\\\\BadRequest\"} {\"correlation_id\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":10,\"policy\":null,\"reason\":\"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\\\":\\\"019e168a-9 (truncated...)\n\"} {\"correlation_id\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":12} {\"correlation_id\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612340,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"f69192c9-9ba8-48e0-b614-996bf3dcc7d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612340} {\"correlation_id\":\"f69192c9-9ba8-48e0-b614-996bf3dcc7d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612340,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f69192c9-9ba8-48e0-b614-996bf3dcc7d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] 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\":\"f69192c9-9ba8-48e0-b614-996bf3dcc7d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f69192c9-9ba8-48e0-b614-996bf3dcc7d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f69192c9-9ba8-48e0-b614-996bf3dcc7d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f69192c9-9ba8-48e0-b614-996bf3dcc7d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f69192c9-9ba8-48e0-b614-996bf3dcc7d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"f69192c9-9ba8-48e0-b614-996bf3dcc7d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] 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\":\"f69192c9-9ba8-48e0-b614-996bf3dcc7d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"f69192c9-9ba8-48e0-b614-996bf3dcc7d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612339,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"6522d428-c400-448c-9130-a06133b21471\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612339} {\"correlation_id\":\"6522d428-c400-448c-9130-a06133b21471\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612339,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"6522d428-c400-448c-9130-a06133b21471\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] 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\":\"6522d428-c400-448c-9130-a06133b21471\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6522d428-c400-448c-9130-a06133b21471\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6522d428-c400-448c-9130-a06133b21471\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"6522d428-c400-448c-9130-a06133b21471\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"6522d428-c400-448c-9130-a06133b21471\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"6522d428-c400-448c-9130-a06133b21471\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] 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\":\"6522d428-c400-448c-9130-a06133b21471\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"6522d428-c400-448c-9130-a06133b21471\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612336,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"0588c797-4ae0-4d7b-b3ee-9706e7ef39df\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612336} {\"correlation_id\":\"0588c797-4ae0-4d7b-b3ee-9706e7ef39df\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612336,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0588c797-4ae0-4d7b-b3ee-9706e7ef39df\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] 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\":\"0588c797-4ae0-4d7b-b3ee-9706e7ef39df\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0588c797-4ae0-4d7b-b3ee-9706e7ef39df\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0588c797-4ae0-4d7b-b3ee-9706e7ef39df\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0588c797-4ae0-4d7b-b3ee-9706e7ef39df\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0588c797-4ae0-4d7b-b3ee-9706e7ef39df\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"0588c797-4ae0-4d7b-b3ee-9706e7ef39df\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] 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\":\"0588c797-4ae0-4d7b-b3ee-9706e7ef39df\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"0588c797-4ae0-4d7b-b3ee-9706e7ef39df\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612183,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612183} {\"correlation_id\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612183,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] 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\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] 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\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612183,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612183} {\"correlation_id\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612183,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] 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\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612182,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612182} {\"correlation_id\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612182,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] 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\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] 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\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612182,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612182} {\"correlation_id\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612182,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] 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\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"dialers:monitor-activities\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"86d5bdfe-cc94-41f2-94ba-422242e4e1f5\",\"trace_id\":\"659a90d1-e357-4e8c-a391-979e687c5ae4\"}\n[2026-05-11 10:17:25] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":1.26,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:17:25] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612181,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612181} {\"correlation_id\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612181,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] 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\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] 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\":\"86d5bdfe-cc94-41f2-94ba-422242e4e1f5\",\"trace_id\":\"659a90d1-e357-4e8c-a391-979e687c5ae4\"}\n[2026-05-11 10:17:25] 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\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612181,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612181} {\"correlation_id\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612181,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] 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\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612180,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612180} {\"correlation_id\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612180,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] 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\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] 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\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612180,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612180} {\"correlation_id\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612180,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] 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\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"0869934c-f4d0-46a1-8387-f2393c5bce93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611455} {\"correlation_id\":\"0869934c-f4d0-46a1-8387-f2393c5bce93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611455,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0869934c-f4d0-46a1-8387-f2393c5bce93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] 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\":\"0869934c-f4d0-46a1-8387-f2393c5bce93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0869934c-f4d0-46a1-8387-f2393c5bce93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0869934c-f4d0-46a1-8387-f2393c5bce93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0869934c-f4d0-46a1-8387-f2393c5bce93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0869934c-f4d0-46a1-8387-f2393c5bce93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"0869934c-f4d0-46a1-8387-f2393c5bce93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] 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\":\"0869934c-f4d0-46a1-8387-f2393c5bce93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] 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\":\"0869934c-f4d0-46a1-8387-f2393c5bce93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"0869934c-f4d0-46a1-8387-f2393c5bce93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"4e3d1181-634e-4ea2-8ac6-7da2a722c455\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611451} {\"correlation_id\":\"4e3d1181-634e-4ea2-8ac6-7da2a722c455\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4e3d1181-634e-4ea2-8ac6-7da2a722c455\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] 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\":\"4e3d1181-634e-4ea2-8ac6-7da2a722c455\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4e3d1181-634e-4ea2-8ac6-7da2a722c455\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4e3d1181-634e-4ea2-8ac6-7da2a722c455\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4e3d1181-634e-4ea2-8ac6-7da2a722c455\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4e3d1181-634e-4ea2-8ac6-7da2a722c455\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"4e3d1181-634e-4ea2-8ac6-7da2a722c455\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] 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\":\"4e3d1181-634e-4ea2-8ac6-7da2a722c455\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] 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\":\"4e3d1181-634e-4ea2-8ac6-7da2a722c455\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"4e3d1181-634e-4ea2-8ac6-7da2a722c455\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"bd88fcdb-25fc-4e20-bec3-36897d7c6d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611087} {\"correlation_id\":\"bd88fcdb-25fc-4e20-bec3-36897d7c6d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611087,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bd88fcdb-25fc-4e20-bec3-36897d7c6d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] 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\":\"bd88fcdb-25fc-4e20-bec3-36897d7c6d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bd88fcdb-25fc-4e20-bec3-36897d7c6d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bd88fcdb-25fc-4e20-bec3-36897d7c6d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"bd88fcdb-25fc-4e20-bec3-36897d7c6d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"bd88fcdb-25fc-4e20-bec3-36897d7c6d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"bd88fcdb-25fc-4e20-bec3-36897d7c6d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"bd88fcdb-25fc-4e20-bec3-36897d7c6d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":10} {\"correlation_id\":\"bd88fcdb-25fc-4e20-bec3-36897d7c6d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"c1d5bb08-3fac-4938-926a-3e672915d6c3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611076} {\"correlation_id\":\"c1d5bb08-3fac-4938-926a-3e672915d6c3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611076,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c1d5bb08-3fac-4938-926a-3e672915d6c3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] 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\":\"c1d5bb08-3fac-4938-926a-3e672915d6c3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c1d5bb08-3fac-4938-926a-3e672915d6c3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c1d5bb08-3fac-4938-926a-3e672915d6c3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"c1d5bb08-3fac-4938-926a-3e672915d6c3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"c1d5bb08-3fac-4938-926a-3e672915d6c3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"c1d5bb08-3fac-4938-926a-3e672915d6c3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"c1d5bb08-3fac-4938-926a-3e672915d6c3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":10} {\"correlation_id\":\"c1d5bb08-3fac-4938-926a-3e672915d6c3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"c1161db6-2192-487f-94d9-fb763ee00ea9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610935} {\"correlation_id\":\"c1161db6-2192-487f-94d9-fb763ee00ea9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610935,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c1161db6-2192-487f-94d9-fb763ee00ea9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] 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\":\"c1161db6-2192-487f-94d9-fb763ee00ea9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c1161db6-2192-487f-94d9-fb763ee00ea9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c1161db6-2192-487f-94d9-fb763ee00ea9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"c1161db6-2192-487f-94d9-fb763ee00ea9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"c1161db6-2192-487f-94d9-fb763ee00ea9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"c1161db6-2192-487f-94d9-fb763ee00ea9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"c1161db6-2192-487f-94d9-fb763ee00ea9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"c1161db6-2192-487f-94d9-fb763ee00ea9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"bd974d1f-98c3-43ec-a0ee-c373b13e5a55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610915} {\"correlation_id\":\"bd974d1f-98c3-43ec-a0ee-c373b13e5a55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610915,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bd974d1f-98c3-43ec-a0ee-c373b13e5a55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] 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\":\"bd974d1f-98c3-43ec-a0ee-c373b13e5a55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bd974d1f-98c3-43ec-a0ee-c373b13e5a55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bd974d1f-98c3-43ec-a0ee-c373b13e5a55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"bd974d1f-98c3-43ec-a0ee-c373b13e5a55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"bd974d1f-98c3-43ec-a0ee-c373b13e5a55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"bd974d1f-98c3-43ec-a0ee-c373b13e5a55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"bd974d1f-98c3-43ec-a0ee-c373b13e5a55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":13} {\"correlation_id\":\"bd974d1f-98c3-43ec-a0ee-c373b13e5a55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"6b6b45e9-7387-4b73-a6c1-1302a6e959cc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610900} {\"correlation_id\":\"6b6b45e9-7387-4b73-a6c1-1302a6e959cc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610900,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"6b6b45e9-7387-4b73-a6c1-1302a6e959cc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] 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\":\"6b6b45e9-7387-4b73-a6c1-1302a6e959cc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6b6b45e9-7387-4b73-a6c1-1302a6e959cc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6b6b45e9-7387-4b73-a6c1-1302a6e959cc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"6b6b45e9-7387-4b73-a6c1-1302a6e959cc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"6b6b45e9-7387-4b73-a6c1-1302a6e959cc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"6b6b45e9-7387-4b73-a6c1-1302a6e959cc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"6b6b45e9-7387-4b73-a6c1-1302a6e959cc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":10} {\"correlation_id\":\"6b6b45e9-7387-4b73-a6c1-1302a6e959cc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"3d3fbb4c-6268-4e40-bf22-931be4baeb1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610885} {\"correlation_id\":\"3d3fbb4c-6268-4e40-bf22-931be4baeb1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610885,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3d3fbb4c-6268-4e40-bf22-931be4baeb1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] 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\":\"3d3fbb4c-6268-4e40-bf22-931be4baeb1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3d3fbb4c-6268-4e40-bf22-931be4baeb1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3d3fbb4c-6268-4e40-bf22-931be4baeb1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"3d3fbb4c-6268-4e40-bf22-931be4baeb1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"3d3fbb4c-6268-4e40-bf22-931be4baeb1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"3d3fbb4c-6268-4e40-bf22-931be4baeb1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"3d3fbb4c-6268-4e40-bf22-931be4baeb1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"3d3fbb4c-6268-4e40-bf22-931be4baeb1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"75bdd542-1e62-4704-861a-810a631074bf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610878} {\"correlation_id\":\"75bdd542-1e62-4704-861a-810a631074bf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610878,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"75bdd542-1e62-4704-861a-810a631074bf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] 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\":\"75bdd542-1e62-4704-861a-810a631074bf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"75bdd542-1e62-4704-861a-810a631074bf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"75bdd542-1e62-4704-861a-810a631074bf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"75bdd542-1e62-4704-861a-810a631074bf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"75bdd542-1e62-4704-861a-810a631074bf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"75bdd542-1e62-4704-861a-810a631074bf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"75bdd542-1e62-4704-861a-810a631074bf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"75bdd542-1e62-4704-861a-810a631074bf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"923e5701-fa97-4252-a235-5cfe1a50c951\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610874} {\"correlation_id\":\"923e5701-fa97-4252-a235-5cfe1a50c951\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610874,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"923e5701-fa97-4252-a235-5cfe1a50c951\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] 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\":\"923e5701-fa97-4252-a235-5cfe1a50c951\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"923e5701-fa97-4252-a235-5cfe1a50c951\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"923e5701-fa97-4252-a235-5cfe1a50c951\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"923e5701-fa97-4252-a235-5cfe1a50c951\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"923e5701-fa97-4252-a235-5cfe1a50c951\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"923e5701-fa97-4252-a235-5cfe1a50c951\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"923e5701-fa97-4252-a235-5cfe1a50c951\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"923e5701-fa97-4252-a235-5cfe1a50c951\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:30] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"afecdc02-a4b8-431a-baee-e5f104160539\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610867} {\"correlation_id\":\"afecdc02-a4b8-431a-baee-e5f104160539\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610867,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"afecdc02-a4b8-431a-baee-e5f104160539\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:30] 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\":\"afecdc02-a4b8-431a-baee-e5f104160539\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:30] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"afecdc02-a4b8-431a-baee-e5f104160539\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:30] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"afecdc02-a4b8-431a-baee-e5f104160539\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:30] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"afecdc02-a4b8-431a-baee-e5f104160539\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:30] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"afecdc02-a4b8-431a-baee-e5f104160539\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"afecdc02-a4b8-431a-baee-e5f104160539\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"afecdc02-a4b8-431a-baee-e5f104160539\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"afecdc02-a4b8-431a-baee-e5f104160539\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"30a67f60-f844-4758-bc2c-79a6b1ec958a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610764} {\"correlation_id\":\"30a67f60-f844-4758-bc2c-79a6b1ec958a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610764,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"30a67f60-f844-4758-bc2c-79a6b1ec958a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] 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\":\"30a67f60-f844-4758-bc2c-79a6b1ec958a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"30a67f60-f844-4758-bc2c-79a6b1ec958a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"30a67f60-f844-4758-bc2c-79a6b1ec958a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"30a67f60-f844-4758-bc2c-79a6b1ec958a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"30a67f60-f844-4758-bc2c-79a6b1ec958a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"30a67f60-f844-4758-bc2c-79a6b1ec958a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"30a67f60-f844-4758-bc2c-79a6b1ec958a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":10} {\"correlation_id\":\"30a67f60-f844-4758-bc2c-79a6b1ec958a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"2989f086-0b73-4b12-b24c-8665376dcf18\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610617} {\"correlation_id\":\"2989f086-0b73-4b12-b24c-8665376dcf18\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610617,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2989f086-0b73-4b12-b24c-8665376dcf18\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] 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\":\"2989f086-0b73-4b12-b24c-8665376dcf18\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2989f086-0b73-4b12-b24c-8665376dcf18\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2989f086-0b73-4b12-b24c-8665376dcf18\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2989f086-0b73-4b12-b24c-8665376dcf18\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2989f086-0b73-4b12-b24c-8665376dcf18\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2989f086-0b73-4b12-b24c-8665376dcf18\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2989f086-0b73-4b12-b24c-8665376dcf18\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"2989f086-0b73-4b12-b24c-8665376dcf18\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.9,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:17:31] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"0c19e519-0adf-4903-a45d-44559f23151f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610539} {\"correlation_id\":\"0c19e519-0adf-4903-a45d-44559f23151f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610539,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0c19e519-0adf-4903-a45d-44559f23151f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] 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\":\"0c19e519-0adf-4903-a45d-44559f23151f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0c19e519-0adf-4903-a45d-44559f23151f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0c19e519-0adf-4903-a45d-44559f23151f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0c19e519-0adf-4903-a45d-44559f23151f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0c19e519-0adf-4903-a45d-44559f23151f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"0c19e519-0adf-4903-a45d-44559f23151f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"0c19e519-0adf-4903-a45d-44559f23151f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":10} {\"correlation_id\":\"0c19e519-0adf-4903-a45d-44559f23151f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"fc1002b7-ac5b-4080-b6fa-497070177a88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610528} {\"correlation_id\":\"fc1002b7-ac5b-4080-b6fa-497070177a88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610528,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"fc1002b7-ac5b-4080-b6fa-497070177a88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] 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\":\"fc1002b7-ac5b-4080-b6fa-497070177a88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"fc1002b7-ac5b-4080-b6fa-497070177a88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"fc1002b7-ac5b-4080-b6fa-497070177a88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"fc1002b7-ac5b-4080-b6fa-497070177a88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"fc1002b7-ac5b-4080-b6fa-497070177a88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"fc1002b7-ac5b-4080-b6fa-497070177a88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"fc1002b7-ac5b-4080-b6fa-497070177a88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"fc1002b7-ac5b-4080-b6fa-497070177a88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"738402b4-5306-4346-9286-7b1fb94db69f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610506} {\"correlation_id\":\"738402b4-5306-4346-9286-7b1fb94db69f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610506,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"738402b4-5306-4346-9286-7b1fb94db69f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] 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\":\"738402b4-5306-4346-9286-7b1fb94db69f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"738402b4-5306-4346-9286-7b1fb94db69f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"738402b4-5306-4346-9286-7b1fb94db69f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"738402b4-5306-4346-9286-7b1fb94db69f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"738402b4-5306-4346-9286-7b1fb94db69f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"738402b4-5306-4346-9286-7b1fb94db69f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"738402b4-5306-4346-9286-7b1fb94db69f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":13} {\"correlation_id\":\"738402b4-5306-4346-9286-7b1fb94db69f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610497} {\"correlation_id\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610497,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] 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\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.WARNING: [Hubspot] No retry-after header or policy name found, using default {\"exception_class\":\"SevenShores\\\\Hubspot\\\\Exceptions\\\\BadRequest\"} {\"correlation_id\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":10,\"policy\":null,\"reason\":\"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\\\":\\\"019e168a-c (truncated...)\n\"} {\"correlation_id\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":12} {\"correlation_id\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"2e2173eb-7d9e-43e9-b8e2-2c6bb1d4c684\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610490} {\"correlation_id\":\"2e2173eb-7d9e-43e9-b8e2-2c6bb1d4c684\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610490,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2e2173eb-7d9e-43e9-b8e2-2c6bb1d4c684\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] 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\":\"2e2173eb-7d9e-43e9-b8e2-2c6bb1d4c684\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2e2173eb-7d9e-43e9-b8e2-2c6bb1d4c684\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2e2173eb-7d9e-43e9-b8e2-2c6bb1d4c684\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2e2173eb-7d9e-43e9-b8e2-2c6bb1d4c684\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2e2173eb-7d9e-43e9-b8e2-2c6bb1d4c684\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2e2173eb-7d9e-43e9-b8e2-2c6bb1d4c684\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2e2173eb-7d9e-43e9-b8e2-2c6bb1d4c684\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":10} {\"correlation_id\":\"2e2173eb-7d9e-43e9-b8e2-2c6bb1d4c684\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"63a0af1c-277e-446c-9a48-9757a8d34ddc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610470} {\"correlation_id\":\"63a0af1c-277e-446c-9a48-9757a8d34ddc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610470,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"63a0af1c-277e-446c-9a48-9757a8d34ddc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] 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\":\"63a0af1c-277e-446c-9a48-9757a8d34ddc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"63a0af1c-277e-446c-9a48-9757a8d34ddc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"63a0af1c-277e-446c-9a48-9757a8d34ddc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"63a0af1c-277e-446c-9a48-9757a8d34ddc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"63a0af1c-277e-446c-9a48-9757a8d34ddc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"63a0af1c-277e-446c-9a48-9757a8d34ddc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"63a0af1c-277e-446c-9a48-9757a8d34ddc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"63a0af1c-277e-446c-9a48-9757a8d34ddc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"b324376c-1fd3-497f-b0fb-004f86f50635\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610462} {\"correlation_id\":\"b324376c-1fd3-497f-b0fb-004f86f50635\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610462,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b324376c-1fd3-497f-b0fb-004f86f50635\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] 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\":\"b324376c-1fd3-497f-b0fb-004f86f50635\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b324376c-1fd3-497f-b0fb-004f86f50635\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b324376c-1fd3-497f-b0fb-004f86f50635\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b324376c-1fd3-497f-b0fb-004f86f50635\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b324376c-1fd3-497f-b0fb-004f86f50635\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"b324376c-1fd3-497f-b0fb-004f86f50635\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"b324376c-1fd3-497f-b0fb-004f86f50635\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"b324376c-1fd3-497f-b0fb-004f86f50635\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"b2b3cc5b-60ce-4c18-bb68-76d30013357c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610451} {\"correlation_id\":\"b2b3cc5b-60ce-4c18-bb68-76d30013357c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b2b3cc5b-60ce-4c18-bb68-76d30013357c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] 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\":\"b2b3cc5b-60ce-4c18-bb68-76d30013357c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b2b3cc5b-60ce-4c18-bb68-76d30013357c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b2b3cc5b-60ce-4c18-bb68-76d30013357c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b2b3cc5b-60ce-4c18-bb68-76d30013357c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b2b3cc5b-60ce-4c18-bb68-76d30013357c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"b2b3cc5b-60ce-4c18-bb68-76d30013357c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"b2b3cc5b-60ce-4c18-bb68-76d30013357c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"b2b3cc5b-60ce-4c18-bb68-76d30013357c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"d6026499-3681-474a-85f7-3faee13605b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610438} {\"correlation_id\":\"d6026499-3681-474a-85f7-3faee13605b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610438,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d6026499-3681-474a-85f7-3faee13605b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] 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\":\"d6026499-3681-474a-85f7-3faee13605b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d6026499-3681-474a-85f7-3faee13605b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d6026499-3681-474a-85f7-3faee13605b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d6026499-3681-474a-85f7-3faee13605b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d6026499-3681-474a-85f7-3faee13605b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"d6026499-3681-474a-85f7-3faee13605b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"d6026499-3681-474a-85f7-3faee13605b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":13} {\"correlation_id\":\"d6026499-3681-474a-85f7-3faee13605b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"17b3d9a6-2eb0-49d1-8a00-c67c644885e1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610426} {\"correlation_id\":\"17b3d9a6-2eb0-49d1-8a00-c67c644885e1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610426,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"17b3d9a6-2eb0-49d1-8a00-c67c644885e1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] 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\":\"17b3d9a6-2eb0-49d1-8a00-c67c644885e1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"17b3d9a6-2eb0-49d1-8a00-c67c644885e1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"17b3d9a6-2eb0-49d1-8a00-c67c644885e1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"17b3d9a6-2eb0-49d1-8a00-c67c644885e1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"17b3d9a6-2eb0-49d1-8a00-c67c644885e1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"17b3d9a6-2eb0-49d1-8a00-c67c644885e1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"17b3d9a6-2eb0-49d1-8a00-c67c644885e1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"17b3d9a6-2eb0-49d1-8a00-c67c644885e1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"112a2c70-a5f2-4500-9726-7f560d683236\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610403} {\"correlation_id\":\"112a2c70-a5f2-4500-9726-7f560d683236\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610403,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"112a2c70-a5f2-4500-9726-7f560d683236\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] 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\":\"112a2c70-a5f2-4500-9726-7f560d683236\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"112a2c70-a5f2-4500-9726-7f560d683236\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"112a2c70-a5f2-4500-9726-7f560d683236\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"112a2c70-a5f2-4500-9726-7f560d683236\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"112a2c70-a5f2-4500-9726-7f560d683236\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"112a2c70-a5f2-4500-9726-7f560d683236\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"112a2c70-a5f2-4500-9726-7f560d683236\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"112a2c70-a5f2-4500-9726-7f560d683236\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] 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\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610400} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610400,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] 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\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] 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\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] 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\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":1460} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":244,\"contact_id\":4487} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":350} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610400,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610400} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610400,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] 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\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] 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}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6868b438-d843-4331-9862-f802e4cc4ff2\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6868b438-d843-4331-9862-f802e4cc4ff2\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6868b438-d843-4331-9862-f802e4cc4ff2\"}\n[2026-05-11 10:17:34] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6868b438-d843-4331-9862-f802e4cc4ff2\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6868b438-d843-4331-9862-f802e4cc4ff2\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6868b438-d843-4331-9862-f802e4cc4ff2\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6868b438-d843-4331-9862-f802e4cc4ff2\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6868b438-d843-4331-9862-f802e4cc4ff2\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6868b438-d843-4331-9862-f802e4cc4ff2\"}\n[2026-05-11 10:17:34] 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\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6868b438-d843-4331-9862-f802e4cc4ff2\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6868b438-d843-4331-9862-f802e4cc4ff2\"}\n[2026-05-11 10:17:34] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":10} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6868b438-d843-4331-9862-f802e4cc4ff2\"}\n[2026-05-11 10:17:34] 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}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f600c314-da4f-48ea-885b-f3b0db553881\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f600c314-da4f-48ea-885b-f3b0db553881\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f600c314-da4f-48ea-885b-f3b0db553881\"}\n[2026-05-11 10:17:34] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f600c314-da4f-48ea-885b-f3b0db553881\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f600c314-da4f-48ea-885b-f3b0db553881\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f600c314-da4f-48ea-885b-f3b0db553881\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f600c314-da4f-48ea-885b-f3b0db553881\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f600c314-da4f-48ea-885b-f3b0db553881\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f600c314-da4f-48ea-885b-f3b0db553881\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f600c314-da4f-48ea-885b-f3b0db553881\"}\n[2026-05-11 10:17:34] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":10} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f600c314-da4f-48ea-885b-f3b0db553881\"}\n[2026-05-11 10:17:34] local.NOTICE: Monitoring start {\"correlation_id\":\"2a3353ba-9883-42be-b596-9e38bd5fc160\",\"trace_id\":\"fc84fbbd-f6ab-40f6-8fdc-f023fbe3b46e\"}\n[2026-05-11 10:17:34] local.NOTICE: Monitoring end {\"correlation_id\":\"2a3353ba-9883-42be-b596-9e38bd5fc160\",\"trace_id\":\"fc84fbbd-f6ab-40f6-8fdc-f023fbe3b46e\"}\n[2026-05-11 10:17:34] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612819,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] 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\":null,\"contact_id\":null,\"lead_id\":null}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612819,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":11} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] 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}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"5b7869a5-e05c-417f-819f-12774e20bb56\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"5b7869a5-e05c-417f-819f-12774e20bb56\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"5b7869a5-e05c-417f-819f-12774e20bb56\"}\n[2026-05-11 10:17:34] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"5b7869a5-e05c-417f-819f-12774e20bb56\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"5b7869a5-e05c-417f-819f-12774e20bb56\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"5b7869a5-e05c-417f-819f-12774e20bb56\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"5b7869a5-e05c-417f-819f-12774e20bb56\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"5b7869a5-e05c-417f-819f-12774e20bb56\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"5b7869a5-e05c-417f-819f-12774e20bb56\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"5b7869a5-e05c-417f-819f-12774e20bb56\"}\n[2026-05-11 10:17:34] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":14} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"5b7869a5-e05c-417f-819f-12774e20bb56\"}\n[2026-05-11 10:17:34] 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}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72bb1bed-9270-436f-977c-a73c970415a3\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72bb1bed-9270-436f-977c-a73c970415a3\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72bb1bed-9270-436f-977c-a73c970415a3\"}\n[2026-05-11 10:17:34] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72bb1bed-9270-436f-977c-a73c970415a3\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72bb1bed-9270-436f-977c-a73c970415a3\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72bb1bed-9270-436f-977c-a73c970415a3\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72bb1bed-9270-436f-977c-a73c970415a3\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72bb1bed-9270-436f-977c-a73c970415a3\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72bb1bed-9270-436f-977c-a73c970415a3\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72bb1bed-9270-436f-977c-a73c970415a3\"}\n[2026-05-11 10:17:34] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":13} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72bb1bed-9270-436f-977c-a73c970415a3\"}\n[2026-05-11 10:17:34] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":614378,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":6167,\"account_id\":null,\"opportunity_id\":null,\"stage_id\":null}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ef02c9ff-d0fc-47cb-aeb0-e8ba837de699\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ef02c9ff-d0fc-47cb-aeb0-e8ba837de699\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ef02c9ff-d0fc-47cb-aeb0-e8ba837de699\"}\n[2026-05-11 10:17:34] 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\":6167,\"lead_id\":null},{\"id\":1002625,\"user_id\":89,\"contact_id\":null,\"lead_id\":null}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ef02c9ff-d0fc-47cb-aeb0-e8ba837de699\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ef02c9ff-d0fc-47cb-aeb0-e8ba837de699\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ef02c9ff-d0fc-47cb-aeb0-e8ba837de699\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ef02c9ff-d0fc-47cb-aeb0-e8ba837de699\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ef02c9ff-d0fc-47cb-aeb0-e8ba837de699\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ef02c9ff-d0fc-47cb-aeb0-e8ba837de699\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ef02c9ff-d0fc-47cb-aeb0-e8ba837de699\"}\n[2026-05-11 10:17:34] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":12} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ef02c9ff-d0fc-47cb-aeb0-e8ba837de699\"}\n[2026-05-11 10:17:34] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612847,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e1608ca2-4101-4e24-8c9f-29ba81ce925f\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e1608ca2-4101-4e24-8c9f-29ba81ce925f\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e1608ca2-4101-4e24-8c9f-29ba81ce925f\"}\n[2026-05-11 10:17:34] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612847,\"participants\":[{\"id\":1000130,\"user_id\":null,\"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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e1608ca2-4101-4e24-8c9f-29ba81ce925f\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e1608ca2-4101-4e24-8c9f-29ba81ce925f\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e1608ca2-4101-4e24-8c9f-29ba81ce925f\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e1608ca2-4101-4e24-8c9f-29ba81ce925f\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e1608ca2-4101-4e24-8c9f-29ba81ce925f\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e1608ca2-4101-4e24-8c9f-29ba81ce925f\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e1608ca2-4101-4e24-8c9f-29ba81ce925f\"}\n[2026-05-11 10:17:34] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":11} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e1608ca2-4101-4e24-8c9f-29ba81ce925f\"}\n[2026-05-11 10:17:34] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"40f1c570-c73a-4bea-99d1-0b405485c1eb\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612562} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"40f1c570-c73a-4bea-99d1-0b405485c1eb\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612562,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"40f1c570-c73a-4bea-99d1-0b405485c1eb\"}\n[2026-05-11 10:17:34] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"40f1c570-c73a-4bea-99d1-0b405485c1eb\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"40f1c570-c73a-4bea-99d1-0b405485c1eb\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"40f1c570-c73a-4bea-99d1-0b405485c1eb\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"40f1c570-c73a-4bea-99d1-0b405485c1eb\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"40f1c570-c73a-4bea-99d1-0b405485c1eb\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"40f1c570-c73a-4bea-99d1-0b405485c1eb\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"40f1c570-c73a-4bea-99d1-0b405485c1eb\"}\n[2026-05-11 10:17:34] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":14} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"40f1c570-c73a-4bea-99d1-0b405485c1eb\"}\n[2026-05-11 10:17:34] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6f43c701-78e8-4a90-bc73-feecc83e035c\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612560} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6f43c701-78e8-4a90-bc73-feecc83e035c\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612560,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6f43c701-78e8-4a90-bc73-feecc83e035c\"}\n[2026-05-11 10:17:34] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6f43c701-78e8-4a90-bc73-feecc83e035c\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6f43c701-78e8-4a90-bc73-feecc83e035c\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6f43c701-78e8-4a90-bc73-feecc83e035c\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6f43c701-78e8-4a90-bc73-feecc83e035c\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6f43c701-78e8-4a90-bc73-feecc83e035c\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6f43c701-78e8-4a90-bc73-feecc83e035c\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6f43c701-78e8-4a90-bc73-feecc83e035c\"}\n[2026-05-11 10:17:34] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":10} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6f43c701-78e8-4a90-bc73-feecc83e035c\"}\n[2026-05-11 10:17:34] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"714584dc-ec4b-479a-aecd-db6c109f4a6d\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612561} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"714584dc-ec4b-479a-aecd-db6c109f4a6d\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612561,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"714584dc-ec4b-479a-aecd-db6c109f4a6d\"}\n[2026-05-11 10:17:34] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"714584dc-ec4b-479a-aecd-db6c109f4a6d\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"714584dc-ec4b-479a-aecd-db6c109f4a6d\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"714584dc-ec4b-479a-aecd-db6c109f4a6d\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"714584dc-ec4b-479a-aecd-db6c109f4a6d\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"714584dc-ec4b-479a-aecd-db6c109f4a6d\"}\n[2026-05-11 10:17:34] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612561,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"714584dc-ec4b-479a-aecd-db6c109f4a6d\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"714584dc-ec4b-479a-aecd-db6c109f4a6d\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"714584dc-ec4b-479a-aecd-db6c109f4a6d\"}\n[2026-05-11 10:17:34] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":12} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"714584dc-ec4b-479a-aecd-db6c109f4a6d\"}\n[2026-05-11 10:17:34] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612340,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f7f53665-81f1-4b01-86eb-56ad96f088db\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612340} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f7f53665-81f1-4b01-86eb-56ad96f088db\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612340,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f7f53665-81f1-4b01-86eb-56ad96f088db\"}\n[2026-05-11 10:17:34] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f7f53665-81f1-4b01-86eb-56ad96f088db\"}\n[2026-05-11 10:17:35] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f7f53665-81f1-4b01-86eb-56ad96f088db\"}\n[2026-05-11 10:17:35] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f7f53665-81f1-4b01-86eb-56ad96f088db\"}\n[2026-05-11 10:17:35] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f7f53665-81f1-4b01-86eb-56ad96f088db\"}\n[2026-05-11 10:17:35] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f7f53665-81f1-4b01-86eb-56ad96f088db\"}\n[2026-05-11 10:17:35] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f7f53665-81f1-4b01-86eb-56ad96f088db\"}\n[2026-05-11 10:17:35] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612340,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f7f53665-81f1-4b01-86eb-56ad96f088db\"}\n[2026-05-11 10:17:35] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":14} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f7f53665-81f1-4b01-86eb-56ad96f088db\"}\n[2026-05-11 10:17:35] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612360,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7356be9b-68c6-4c39-9fbe-d16bafce4614\"}\n[2026-05-11 10:17:35] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612360} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7356be9b-68c6-4c39-9fbe-d16bafce4614\"}\n[2026-05-11 10:17:35] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612360,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7356be9b-68c6-4c39-9fbe-d16bafce4614\"}\n[2026-05-11 10:17:35] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7356be9b-68c6-4c39-9fbe-d16bafce4614\"}\n[2026-05-11 10:17:35] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7356be9b-68c6-4c39-9fbe-d16bafce4614\"}\n[2026-05-11 10:17:35] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7356be9b-68c6-4c39-9fbe-d16bafce4614\"}\n[2026-05-11 10:17:35] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7356be9b-68c6-4c39-9fbe-d16bafce4614\"}\n[2026-05-11 10:17:35] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7356be9b-68c6-4c39-9fbe-d16bafce4614\"}\n[2026-05-11 10:17:35] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7356be9b-68c6-4c39-9fbe-d16bafce4614\"}\n[2026-05-11 10:17:35] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612360,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7356be9b-68c6-4c39-9fbe-d16bafce4614\"}\n[2026-05-11 10:17:35] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":15} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7356be9b-68c6-4c39-9fbe-d16bafce4614\"}\n[2026-05-11 10:17:35] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612339,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb97cad3-6d10-4315-a771-a5c3a8aeeb31\"}\n[2026-05-11 10:17:35] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612339} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb97cad3-6d10-4315-a771-a5c3a8aeeb31\"}\n[2026-05-11 10:17:35] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612339,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb97cad3-6d10-4315-a771-a5c3a8aeeb31\"}\n[2026-05-11 10:17:35] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb97cad3-6d10-4315-a771-a5c3a8aeeb31\"}\n[2026-05-11 10:17:35] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb97cad3-6d10-4315-a771-a5c3a8aeeb31\"}\n[2026-05-11 10:17:35] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb97cad3-6d10-4315-a771-a5c3a8aeeb31\"}\n[2026-05-11 10:17:35] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb97cad3-6d10-4315-a771-a5c3a8aeeb31\"}\n[2026-05-11 10:17:35] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb97cad3-6d10-4315-a771-a5c3a8aeeb31\"}\n[2026-05-11 10:17:35] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb97cad3-6d10-4315-a771-a5c3a8aeeb31\"}\n[2026-05-11 10:17:35] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612339,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb97cad3-6d10-4315-a771-a5c3a8aeeb31\"}\n[2026-05-11 10:17:35] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":15} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb97cad3-6d10-4315-a771-a5c3a8aeeb31\"}\n[2026-05-11 10:17:36] 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\":\"b6a9ae37-beff-496a-820a-bcf0512308f2\",\"trace_id\":\"be38fb3e-0cfa-4c02-a66a-cc0cf8d3d54a\"}\n[2026-05-11 10:17:36] 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\":\"b6a9ae37-beff-496a-820a-bcf0512308f2\",\"trace_id\":\"be38fb3e-0cfa-4c02-a66a-cc0cf8d3d54a\"}\n[2026-05-11 10:17:37] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.49,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:17:37] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73d4c333-df67-43c5-a413-4c675a3ebc5e\"}\n[2026-05-11 10:17:37] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611451} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73d4c333-df67-43c5-a413-4c675a3ebc5e\"}\n[2026-05-11 10:17:37] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73d4c333-df67-43c5-a413-4c675a3ebc5e\"}\n[2026-05-11 10:17:37] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73d4c333-df67-43c5-a413-4c675a3ebc5e\"}\n[2026-05-11 10:17:37] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73d4c333-df67-43c5-a413-4c675a3ebc5e\"}\n[2026-05-11 10:17:37] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73d4c333-df67-43c5-a413-4c675a3ebc5e\"}\n[2026-05-11 10:17:37] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73d4c333-df67-43c5-a413-4c675a3ebc5e\"}\n[2026-05-11 10:17:37] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73d4c333-df67-43c5-a413-4c675a3ebc5e\"}\n[2026-05-11 10:17:37] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73d4c333-df67-43c5-a413-4c675a3ebc5e\"}\n[2026-05-11 10:17:37] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73d4c333-df67-43c5-a413-4c675a3ebc5e\"}\n[2026-05-11 10:17:37] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":12} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73d4c333-df67-43c5-a413-4c675a3ebc5e\"}\n[2026-05-11 10:17:37] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0c0e087e-66cf-4404-b647-530f77b3e652\"}\n[2026-05-11 10:17:37] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611087} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0c0e087e-66cf-4404-b647-530f77b3e652\"}\n[2026-05-11 10:17:37] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611087,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0c0e087e-66cf-4404-b647-530f77b3e652\"}\n[2026-05-11 10:17:37] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0c0e087e-66cf-4404-b647-530f77b3e652\"}\n[2026-05-11 10:17:37] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0c0e087e-66cf-4404-b647-530f77b3e652\"}\n[2026-05-11 10:17:37] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0c0e087e-66cf-4404-b647-530f77b3e652\"}\n[2026-05-11 10:17:37] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0c0e087e-66cf-4404-b647-530f77b3e652\"}\n[2026-05-11 10:17:37] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0c0e087e-66cf-4404-b647-530f77b3e652\"}\n[2026-05-11 10:17:37] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0c0e087e-66cf-4404-b647-530f77b3e652\"}\n[2026-05-11 10:17:37] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0c0e087e-66cf-4404-b647-530f77b3e652\"}\n[2026-05-11 10:17:37] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":14} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0c0e087e-66cf-4404-b647-530f77b3e652\"}\n[2026-05-11 10:17:37] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8ae56005-eaea-4862-83a4-4c28e0deb862\"}\n[2026-05-11 10:17:37] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611076} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8ae56005-eaea-4862-83a4-4c28e0deb862\"}\n[2026-05-11 10:17:37] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611076,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8ae56005-eaea-4862-83a4-4c28e0deb862\"}\n[2026-05-11 10:17:37] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8ae56005-eaea-4862-83a4-4c28e0deb862\"}\n[2026-05-11 10:17:37] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8ae56005-eaea-4862-83a4-4c28e0deb862\"}\n[2026-05-11 10:17:37] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8ae56005-eaea-4862-83a4-4c28e0deb862\"}\n[2026-05-11 10:17:37] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8ae56005-eaea-4862-83a4-4c28e0deb862\"}\n[2026-05-11 10:17:37] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8ae56005-eaea-4862-83a4-4c28e0deb862\"}\n[2026-05-11 10:17:37] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8ae56005-eaea-4862-83a4-4c28e0deb862\"}\n[2026-05-11 10:17:37] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8ae56005-eaea-4862-83a4-4c28e0deb862\"}\n[2026-05-11 10:17:37] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":15} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8ae56005-eaea-4862-83a4-4c28e0deb862\"}\n[2026-05-11 10:17:38] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72f691bf-4dd5-46e4-b0aa-e6d9947e244c\"}\n[2026-05-11 10:17:38] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610900} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72f691bf-4dd5-46e4-b0aa-e6d9947e244c\"}\n[2026-05-11 10:17:38] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610900,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72f691bf-4dd5-46e4-b0aa-e6d9947e244c\"}\n[2026-05-11 10:17:38] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72f691bf-4dd5-46e4-b0aa-e6d9947e244c\"}\n[2026-05-11 10:17:38] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72f691bf-4dd5-46e4-b0aa-e6d9947e244c\"}\n[2026-05-11 10:17:38] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72f691bf-4dd5-46e4-b0aa-e6d9947e244c\"}\n[2026-05-11 10:17:38] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72f691bf-4dd5-46e4-b0aa-e6d9947e244c\"}\n[2026-05-11 10:17:38] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72f691bf-4dd5-46e4-b0aa-e6d9947e244c\"}\n[2026-05-11 10:17:38] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72f691bf-4dd5-46e4-b0aa-e6d9947e244c\"}\n[2026-05-11 10:17:38] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72f691bf-4dd5-46e4-b0aa-e6d9947e244c\"}\n[2026-05-11 10:17:38] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":10} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72f691bf-4dd5-46e4-b0aa-e6d9947e244c\"}\n[2026-05-11 10:17:38] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9c039918-1cd4-4208-bd24-8e42d3efb19e\"}\n[2026-05-11 10:17:38] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610935} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9c039918-1cd4-4208-bd24-8e42d3efb19e\"}\n[2026-05-11 10:17:38] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610935,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9c039918-1cd4-4208-bd24-8e42d3efb19e\"}\n[2026-05-11 10:17:38] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9c039918-1cd4-4208-bd24-8e42d3efb19e\"}\n[2026-05-11 10:17:38] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9c039918-1cd4-4208-bd24-8e42d3efb19e\"}\n[2026-05-11 10:17:38] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9c039918-1cd4-4208-bd24-8e42d3efb19e\"}\n[2026-05-11 10:17:38] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9c039918-1cd4-4208-bd24-8e42d3efb19e\"}\n[2026-05-11 10:17:38] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9c039918-1cd4-4208-bd24-8e42d3efb19e\"}\n[2026-05-11 10:17:38] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9c039918-1cd4-4208-bd24-8e42d3efb19e\"}\n[2026-05-11 10:17:38] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9c039918-1cd4-4208-bd24-8e42d3efb19e\"}\n[2026-05-11 10:17:38] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":10} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9c039918-1cd4-4208-bd24-8e42d3efb19e\"}\n[2026-05-11 10:17:39] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:process\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"07a987cd-1db5-4796-b217-d8d2d1b6913e\",\"trace_id\":\"90eeb583-f4ef-4d3f-bf6e-2425312728c5\"}\n[2026-05-11 10:17:39] local.INFO: [EmailSchedule] STARTING batch process {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"07a987cd-1db5-4796-b217-d8d2d1b6913e\",\"trace_id\":\"90eeb583-f4ef-4d3f-bf6e-2425312728c5\"}\n[2026-05-11 10:17:39] local.INFO: [EmailSchedule] FINISHED batch process {\"host\":\"docker_lamp_1\",\"processed\":0} {\"correlation_id\":\"07a987cd-1db5-4796-b217-d8d2d1b6913e\",\"trace_id\":\"90eeb583-f4ef-4d3f-bf6e-2425312728c5\"}\n[2026-05-11 10:17:39] 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\":\"07a987cd-1db5-4796-b217-d8d2d1b6913e\",\"trace_id\":\"90eeb583-f4ef-4d3f-bf6e-2425312728c5\"}\n[2026-05-11 10:17:39] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612336,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612336} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612336,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":243,\"contact_id\":4491,\"owner_id\":206} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":243,\"contact_id\":4491} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":243,\"contact_id\":4491,\"opportunity_id\":276} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612336,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":10} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:40] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3b238a85-6f7e-44ab-8dac-2e8f132b32fe\"}\n[2026-05-11 10:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611455} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3b238a85-6f7e-44ab-8dac-2e8f132b32fe\"}\n[2026-05-11 10:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611455,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3b238a85-6f7e-44ab-8dac-2e8f132b32fe\"}\n[2026-05-11 10:17:40] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3b238a85-6f7e-44ab-8dac-2e8f132b32fe\"}\n[2026-05-11 10:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3b238a85-6f7e-44ab-8dac-2e8f132b32fe\"}\n[2026-05-11 10:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3b238a85-6f7e-44ab-8dac-2e8f132b32fe\"}\n[2026-05-11 10:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3b238a85-6f7e-44ab-8dac-2e8f132b32fe\"}\n[2026-05-11 10:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3b238a85-6f7e-44ab-8dac-2e8f132b32fe\"}\n[2026-05-11 10:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3b238a85-6f7e-44ab-8dac-2e8f132b32fe\"}\n[2026-05-11 10:17:40] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3b238a85-6f7e-44ab-8dac-2e8f132b32fe\"}\n[2026-05-11 10:17:40] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":12} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3b238a85-6f7e-44ab-8dac-2e8f132b32fe\"}\n[2026-05-11 10:17:40] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"233b41da-91f2-45fb-8a21-80d2cd24570d\"}\n[2026-05-11 10:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610878} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"233b41da-91f2-45fb-8a21-80d2cd24570d\"}\n[2026-05-11 10:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610878,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"233b41da-91f2-45fb-8a21-80d2cd24570d\"}\n[2026-05-11 10:17:40] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"233b41da-91f2-45fb-8a21-80d2cd24570d\"}\n[2026-05-11 10:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"233b41da-91f2-45fb-8a21-80d2cd24570d\"}\n[2026-05-11 10:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"233b41da-91f2-45fb-8a21-80d2cd24570d\"}\n[2026-05-11 10:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"233b41da-91f2-45fb-8a21-80d2cd24570d\"}\n[2026-05-11 10:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"233b41da-91f2-45fb-8a21-80d2cd24570d\"}\n[2026-05-11 10:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"233b41da-91f2-45fb-8a21-80d2cd24570d\"}\n[2026-05-11 10:17:40] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"233b41da-91f2-45fb-8a21-80d2cd24570d\"}\n[2026-05-11 10:17:40] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":13} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"233b41da-91f2-45fb-8a21-80d2cd24570d\"}\n[2026-05-11 10:17:41] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:create\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"e17eab55-f6ef-40c4-bcf7-0b2b4af23908\",\"trace_id\":\"fab32d53-3e12-42b6-b809-50dcad19899b\"}\n[2026-05-11 10:17:41] local.INFO: [EmailSchedule] STARTING batch create {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"e17eab55-f6ef-40c4-bcf7-0b2b4af23908\",\"trace_id\":\"fab32d53-3e12-42b6-b809-50dcad19899b\"}\n[2026-05-11 10:17:41] local.INFO: [EmailSchedule] FINISHED batch create {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"e17eab55-f6ef-40c4-bcf7-0b2b4af23908\",\"trace_id\":\"fab32d53-3e12-42b6-b809-50dcad19899b\"}\n[2026-05-11 10:17:41] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"mailbox:batch:create\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"e17eab55-f6ef-40c4-bcf7-0b2b4af23908\",\"trace_id\":\"fab32d53-3e12-42b6-b809-50dcad19899b\"}\n[2026-05-11 10:17:41] local.INFO: [Jiminny\\Jobs\\Mailbox\\CreateBatches] processed 2 inboxes and created 0 batches {\"userId\":null,\"batchSize\":30,\"maxBatches\":1000} {\"correlation_id\":\"f6431de6-0cbf-4083-96fc-d316ebac17ec\",\"trace_id\":\"fab32d53-3e12-42b6-b809-50dcad19899b\"}\n[2026-05-11 10:17:42] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ae1e1745-b1f8-4fa9-9d96-b0ec9934cbbd\"}\n[2026-05-11 10:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610539} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ae1e1745-b1f8-4fa9-9d96-b0ec9934cbbd\"}\n[2026-05-11 10:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610539,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ae1e1745-b1f8-4fa9-9d96-b0ec9934cbbd\"}\n[2026-05-11 10:17:42] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ae1e1745-b1f8-4fa9-9d96-b0ec9934cbbd\"}\n[2026-05-11 10:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ae1e1745-b1f8-4fa9-9d96-b0ec9934cbbd\"}\n[2026-05-11 10:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ae1e1745-b1f8-4fa9-9d96-b0ec9934cbbd\"}\n[2026-05-11 10:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ae1e1745-b1f8-4fa9-9d96-b0ec9934cbbd\"}\n[2026-05-11 10:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ae1e1745-b1f8-4fa9-9d96-b0ec9934cbbd\"}\n[2026-05-11 10:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ae1e1745-b1f8-4fa9-9d96-b0ec9934cbbd\"}\n[2026-05-11 10:17:42] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ae1e1745-b1f8-4fa9-9d96-b0ec9934cbbd\"}\n[2026-05-11 10:17:42] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":11} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ae1e1745-b1f8-4fa9-9d96-b0ec9934cbbd\"}\n[2026-05-11 10:17:42] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f131d63b-7da9-4a0c-b9d5-4a2d2ae772f1\"}\n[2026-05-11 10:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610915} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f131d63b-7da9-4a0c-b9d5-4a2d2ae772f1\"}\n[2026-05-11 10:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610915,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f131d63b-7da9-4a0c-b9d5-4a2d2ae772f1\"}\n[2026-05-11 10:17:42] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f131d63b-7da9-4a0c-b9d5-4a2d2ae772f1\"}\n[2026-05-11 10:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f131d63b-7da9-4a0c-b9d5-4a2d2ae772f1\"}\n[2026-05-11 10:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f131d63b-7da9-4a0c-b9d5-4a2d2ae772f1\"}\n[2026-05-11 10:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f131d63b-7da9-4a0c-b9d5-4a2d2ae772f1\"}\n[2026-05-11 10:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f131d63b-7da9-4a0c-b9d5-4a2d2ae772f1\"}\n[2026-05-11 10:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f131d63b-7da9-4a0c-b9d5-4a2d2ae772f1\"}\n[2026-05-11 10:17:42] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f131d63b-7da9-4a0c-b9d5-4a2d2ae772f1\"}\n[2026-05-11 10:17:42] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":11} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f131d63b-7da9-4a0c-b9d5-4a2d2ae772f1\"}\n[2026-05-11 10:17:42] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"93d7f7d1-3a5c-47ce-bc42-1af98a032e7b\"}\n[2026-05-11 10:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610764} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"93d7f7d1-3a5c-47ce-bc42-1af98a032e7b\"}\n[2026-05-11 10:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610764,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"93d7f7d1-3a5c-47ce-bc42-1af98a032e7b\"}\n[2026-05-11 10:17:42] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"93d7f7d1-3a5c-47ce-bc42-1af98a032e7b\"}\n[2026-05-11 10:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"93d7f7d1-3a5c-47ce-bc42-1af98a032e7b\"}\n[2026-05-11 10:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"93d7f7d1-3a5c-47ce-bc42-1af98a032e7b\"}\n[2026-05-11 10:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"93d7f7d1-3a5c-47ce-bc42-1af98a032e7b\"}\n[2026-05-11 10:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"93d7f7d1-3a5c-47ce-bc42-1af98a032e7b\"}\n[2026-05-11 10:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"93d7f7d1-3a5c-47ce-bc42-1af98a032e7b\"}\n[2026-05-11 10:17:42] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"93d7f7d1-3a5c-47ce-bc42-1af98a032e7b\"}\n[2026-05-11 10:17:42] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":15} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"93d7f7d1-3a5c-47ce-bc42-1af98a032e7b\"}\n[2026-05-11 10:17:42] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.23,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:17:43] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610490} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610490,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] local.WARNING: [Hubspot] No retry-after header or policy name found, using default {\"exception_class\":\"SevenShores\\\\Hubspot\\\\Exceptions\\\\BadRequest\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":10,\"policy\":null,\"reason\":\"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\\\":\\\"019e168a-e (truncated...)\n\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":14} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"34f22bc6-50a7-4f6e-96be-552d05a23255\"}\n[2026-05-11 10:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610528} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"34f22bc6-50a7-4f6e-96be-552d05a23255\"}\n[2026-05-11 10:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610528,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"34f22bc6-50a7-4f6e-96be-552d05a23255\"}\n[2026-05-11 10:17:43] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"34f22bc6-50a7-4f6e-96be-552d05a23255\"}\n[2026-05-11 10:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"34f22bc6-50a7-4f6e-96be-552d05a23255\"}\n[2026-05-11 10:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"34f22bc6-50a7-4f6e-96be-552d05a23255\"}\n[2026-05-11 10:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"34f22bc6-50a7-4f6e-96be-552d05a23255\"}\n[2026-05-11 10:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"34f22bc6-50a7-4f6e-96be-552d05a23255\"}\n[2026-05-11 10:17:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"34f22bc6-50a7-4f6e-96be-552d05a23255\"}\n[2026-05-11 10:17:43] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"34f22bc6-50a7-4f6e-96be-552d05a23255\"}\n[2026-05-11 10:17:43] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":11} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"34f22bc6-50a7-4f6e-96be-552d05a23255\"}\n[2026-05-11 10:17:43] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"624ce203-96d1-4009-ae4e-5b6635eff4b0\"}\n[2026-05-11 10:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610885} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"624ce203-96d1-4009-ae4e-5b6635eff4b0\"}\n[2026-05-11 10:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610885,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"624ce203-96d1-4009-ae4e-5b6635eff4b0\"}\n[2026-05-11 10:17:43] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"624ce203-96d1-4009-ae4e-5b6635eff4b0\"}\n[2026-05-11 10:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"624ce203-96d1-4009-ae4e-5b6635eff4b0\"}\n[2026-05-11 10:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"624ce203-96d1-4009-ae4e-5b6635eff4b0\"}\n[2026-05-11 10:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"624ce203-96d1-4009-ae4e-5b6635eff4b0\"}\n[2026-05-11 10:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"624ce203-96d1-4009-ae4e-5b6635eff4b0\"}\n[2026-05-11 10:17:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"624ce203-96d1-4009-ae4e-5b6635eff4b0\"}\n[2026-05-11 10:17:43] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"624ce203-96d1-4009-ae4e-5b6635eff4b0\"}\n[2026-05-11 10:17:43] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":12} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"624ce203-96d1-4009-ae4e-5b6635eff4b0\"}\n[2026-05-11 10:17:44] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"99d1cf07-a91d-4a90-8059-1fe54fb6097a\"}\n[2026-05-11 10:17:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610451} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"99d1cf07-a91d-4a90-8059-1fe54fb6097a\"}\n[2026-05-11 10:17:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"99d1cf07-a91d-4a90-8059-1fe54fb6097a\"}\n[2026-05-11 10:17:44] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"99d1cf07-a91d-4a90-8059-1fe54fb6097a\"}\n[2026-05-11 10:17:44] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"99d1cf07-a91d-4a90-8059-1fe54fb6097a\"}\n[2026-05-11 10:17:44] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"99d1cf07-a91d-4a90-8059-1fe54fb6097a\"}\n[2026-05-11 10:17:44] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"99d1cf07-a91d-4a90-8059-1fe54fb6097a\"}\n[2026-05-11 10:17:44] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"99d1cf07-a91d-4a90-8059-1fe54fb6097a\"}\n[2026-05-11 10:17:44] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"99d1cf07-a91d-4a90-8059-1fe54fb6097a\"}\n[2026-05-11 10:17:44] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"99d1cf07-a91d-4a90-8059-1fe54fb6097a\"}\n[2026-05-11 10:17:44] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":13} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"99d1cf07-a91d-4a90-8059-1fe54fb6097a\"}\n[2026-05-11 10:17:44] 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\":\"71db6557-d1a4-488a-bcaa-cefeb41f9f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"correlation_id\":\"71db6557-d1a4-488a-bcaa-cefeb41f9f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"71db6557-d1a4-488a-bcaa-cefeb41f9f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] 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\":\"71db6557-d1a4-488a-bcaa-cefeb41f9f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"71db6557-d1a4-488a-bcaa-cefeb41f9f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"71db6557-d1a4-488a-bcaa-cefeb41f9f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"71db6557-d1a4-488a-bcaa-cefeb41f9f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"71db6557-d1a4-488a-bcaa-cefeb41f9f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"71db6557-d1a4-488a-bcaa-cefeb41f9f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"71db6557-d1a4-488a-bcaa-cefeb41f9f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":13} {\"correlation_id\":\"71db6557-d1a4-488a-bcaa-cefeb41f9f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"c4fcf2aa-0846-4e80-b18b-251b2d368949\"}\n[2026-05-11 10:17:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610874} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"c4fcf2aa-0846-4e80-b18b-251b2d368949\"}\n[2026-05-11 10:17:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610874,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"c4fcf2aa-0846-4e80-b18b-251b2d368949\"}\n[2026-05-11 10:17:44] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"c4fcf2aa-0846-4e80-b18b-251b2d368949\"}\n[2026-05-11 10:17:44] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"c4fcf2aa-0846-4e80-b18b-251b2d368949\"}\n[2026-05-11 10:17:44] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"c4fcf2aa-0846-4e80-b18b-251b2d368949\"}\n[2026-05-11 10:17:44] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"c4fcf2aa-0846-4e80-b18b-251b2d368949\"}\n[2026-05-11 10:17:44] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"c4fcf2aa-0846-4e80-b18b-251b2d368949\"}\n[2026-05-11 10:17:44] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"c4fcf2aa-0846-4e80-b18b-251b2d368949\"}\n[2026-05-11 10:17:44] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"c4fcf2aa-0846-4e80-b18b-251b2d368949\"}\n[2026-05-11 10:17:44] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":10} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"c4fcf2aa-0846-4e80-b18b-251b2d368949\"}\n[2026-05-11 10:17:44] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"286a6558-1e66-4ffb-b32f-9f823a296d14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612560} {\"correlation_id\":\"286a6558-1e66-4ffb-b32f-9f823a296d14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612560,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"286a6558-1e66-4ffb-b32f-9f823a296d14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] 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\":\"286a6558-1e66-4ffb-b32f-9f823a296d14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"286a6558-1e66-4ffb-b32f-9f823a296d14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"286a6558-1e66-4ffb-b32f-9f823a296d14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"286a6558-1e66-4ffb-b32f-9f823a296d14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"286a6558-1e66-4ffb-b32f-9f823a296d14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"correlation_id\":\"286a6558-1e66-4ffb-b32f-9f823a296d14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] 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\":\"286a6558-1e66-4ffb-b32f-9f823a296d14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] 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\":\"286a6558-1e66-4ffb-b32f-9f823a296d14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"286a6558-1e66-4ffb-b32f-9f823a296d14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] 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\":\"c0afdc10-8cad-4dab-9147-5495fc19b7c4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"correlation_id\":\"c0afdc10-8cad-4dab-9147-5495fc19b7c4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c0afdc10-8cad-4dab-9147-5495fc19b7c4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] 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\":\"c0afdc10-8cad-4dab-9147-5495fc19b7c4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c0afdc10-8cad-4dab-9147-5495fc19b7c4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c0afdc10-8cad-4dab-9147-5495fc19b7c4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"c0afdc10-8cad-4dab-9147-5495fc19b7c4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"c0afdc10-8cad-4dab-9147-5495fc19b7c4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"c0afdc10-8cad-4dab-9147-5495fc19b7c4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"c0afdc10-8cad-4dab-9147-5495fc19b7c4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":12} {\"correlation_id\":\"c0afdc10-8cad-4dab-9147-5495fc19b7c4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1b88706b-8ac4-431d-8696-8f8766ecae33\"}\n[2026-05-11 10:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610867} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1b88706b-8ac4-431d-8696-8f8766ecae33\"}\n[2026-05-11 10:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610867,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1b88706b-8ac4-431d-8696-8f8766ecae33\"}\n[2026-05-11 10:17:45] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1b88706b-8ac4-431d-8696-8f8766ecae33\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1b88706b-8ac4-431d-8696-8f8766ecae33\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1b88706b-8ac4-431d-8696-8f8766ecae33\"}\n[2026-05-11 10:17:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1b88706b-8ac4-431d-8696-8f8766ecae33\"}\n[2026-05-11 10:17:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1b88706b-8ac4-431d-8696-8f8766ecae33\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1b88706b-8ac4-431d-8696-8f8766ecae33\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1b88706b-8ac4-431d-8696-8f8766ecae33\"}\n[2026-05-11 10:17:45] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":11} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1b88706b-8ac4-431d-8696-8f8766ecae33\"}\n[2026-05-11 10:17:45] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612819,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] 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\":null,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":261} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":299} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] 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\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] 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\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] 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\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612847,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"b4c629ce-833d-484c-8155-4df866fe54cf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"correlation_id\":\"b4c629ce-833d-484c-8155-4df866fe54cf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b4c629ce-833d-484c-8155-4df866fe54cf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612847,\"participants\":[{\"id\":1000130,\"user_id\":null,\"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\":\"b4c629ce-833d-484c-8155-4df866fe54cf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b4c629ce-833d-484c-8155-4df866fe54cf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b4c629ce-833d-484c-8155-4df866fe54cf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b4c629ce-833d-484c-8155-4df866fe54cf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b4c629ce-833d-484c-8155-4df866fe54cf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"b4c629ce-833d-484c-8155-4df866fe54cf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"b4c629ce-833d-484c-8155-4df866fe54cf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"b4c629ce-833d-484c-8155-4df866fe54cf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"168d2aac-7bb8-4249-b62a-e088ef05a5c3\"}\n[2026-05-11 10:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610506} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"168d2aac-7bb8-4249-b62a-e088ef05a5c3\"}\n[2026-05-11 10:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610506,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"168d2aac-7bb8-4249-b62a-e088ef05a5c3\"}\n[2026-05-11 10:17:45] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"168d2aac-7bb8-4249-b62a-e088ef05a5c3\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"168d2aac-7bb8-4249-b62a-e088ef05a5c3\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"168d2aac-7bb8-4249-b62a-e088ef05a5c3\"}\n[2026-05-11 10:17:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"168d2aac-7bb8-4249-b62a-e088ef05a5c3\"}\n[2026-05-11 10:17:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"168d2aac-7bb8-4249-b62a-e088ef05a5c3\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"168d2aac-7bb8-4249-b62a-e088ef05a5c3\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"168d2aac-7bb8-4249-b62a-e088ef05a5c3\"}\n[2026-05-11 10:17:45] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":12} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"168d2aac-7bb8-4249-b62a-e088ef05a5c3\"}\n[2026-05-11 10:17:45] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"067b89fc-5453-49ae-a3fa-5dfdb487c294\"}\n[2026-05-11 10:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610497} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"067b89fc-5453-49ae-a3fa-5dfdb487c294\"}\n[2026-05-11 10:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610497,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"067b89fc-5453-49ae-a3fa-5dfdb487c294\"}\n[2026-05-11 10:17:45] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"067b89fc-5453-49ae-a3fa-5dfdb487c294\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"067b89fc-5453-49ae-a3fa-5dfdb487c294\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"067b89fc-5453-49ae-a3fa-5dfdb487c294\"}\n[2026-05-11 10:17:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"067b89fc-5453-49ae-a3fa-5dfdb487c294\"}\n[2026-05-11 10:17:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"067b89fc-5453-49ae-a3fa-5dfdb487c294\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"067b89fc-5453-49ae-a3fa-5dfdb487c294\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"067b89fc-5453-49ae-a3fa-5dfdb487c294\"}\n[2026-05-11 10:17:45] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":10} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"067b89fc-5453-49ae-a3fa-5dfdb487c294\"}\n[2026-05-11 10:17:45] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e2d3538d-9a14-45c4-b068-84b3732061df\"}\n[2026-05-11 10:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610617} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e2d3538d-9a14-45c4-b068-84b3732061df\"}\n[2026-05-11 10:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610617,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e2d3538d-9a14-45c4-b068-84b3732061df\"}\n[2026-05-11 10:17:45] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e2d3538d-9a14-45c4-b068-84b3732061df\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e2d3538d-9a14-45c4-b068-84b3732061df\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e2d3538d-9a14-45c4-b068-84b3732061df\"}\n[2026-05-11 10:17:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e2d3538d-9a14-45c4-b068-84b3732061df\"}\n[2026-05-11 10:17:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e2d3538d-9a14-45c4-b068-84b3732061df\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e2d3538d-9a14-45c4-b068-84b3732061df\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e2d3538d-9a14-45c4-b068-84b3732061df\"}\n[2026-05-11 10:17:45] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":10} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e2d3538d-9a14-45c4-b068-84b3732061df\"}\n[2026-05-11 10:17:45] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e7285c6c-728d-4284-b885-7e9e9df72706\"}\n[2026-05-11 10:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610403} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e7285c6c-728d-4284-b885-7e9e9df72706\"}\n[2026-05-11 10:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610403,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e7285c6c-728d-4284-b885-7e9e9df72706\"}\n[2026-05-11 10:17:45] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e7285c6c-728d-4284-b885-7e9e9df72706\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e7285c6c-728d-4284-b885-7e9e9df72706\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e7285c6c-728d-4284-b885-7e9e9df72706\"}\n[2026-05-11 10:17:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e7285c6c-728d-4284-b885-7e9e9df72706\"}\n[2026-05-11 10:17:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e7285c6c-728d-4284-b885-7e9e9df72706\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e7285c6c-728d-4284-b885-7e9e9df72706\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e7285c6c-728d-4284-b885-7e9e9df72706\"}\n[2026-05-11 10:17:45] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":12} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e7285c6c-728d-4284-b885-7e9e9df72706\"}\n[2026-05-11 10:17:46] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":614378,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":6167,\"account_id\":null,\"opportunity_id\":null,\"stage_id\":null}} {\"correlation_id\":\"5463b5ad-2286-4568-8f68-76b82d8a4c54\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"correlation_id\":\"5463b5ad-2286-4568-8f68-76b82d8a4c54\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5463b5ad-2286-4568-8f68-76b82d8a4c54\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:46] 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\":6167,\"lead_id\":null},{\"id\":1002625,\"user_id\":89,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"5463b5ad-2286-4568-8f68-76b82d8a4c54\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:46] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5463b5ad-2286-4568-8f68-76b82d8a4c54\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:46] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5463b5ad-2286-4568-8f68-76b82d8a4c54\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:46] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"5463b5ad-2286-4568-8f68-76b82d8a4c54\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:46] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"5463b5ad-2286-4568-8f68-76b82d8a4c54\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"5463b5ad-2286-4568-8f68-76b82d8a4c54\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:46] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"5463b5ad-2286-4568-8f68-76b82d8a4c54\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"5463b5ad-2286-4568-8f68-76b82d8a4c54\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612561} {\"correlation_id\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612561,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] 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\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] 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\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\"} {\"correlation_id\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] 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\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] 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\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7721c535-7311-417a-b30a-1286a84e037b\"}\n[2026-05-11 10:17:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610438} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7721c535-7311-417a-b30a-1286a84e037b\"}\n[2026-05-11 10:17:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610438,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7721c535-7311-417a-b30a-1286a84e037b\"}\n[2026-05-11 10:17:47] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7721c535-7311-417a-b30a-1286a84e037b\"}\n[2026-05-11 10:17:47] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7721c535-7311-417a-b30a-1286a84e037b\"}\n[2026-05-11 10:17:47] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7721c535-7311-417a-b30a-1286a84e037b\"}\n[2026-05-11 10:17:47] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7721c535-7311-417a-b30a-1286a84e037b\"}\n[2026-05-11 10:17:47] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7721c535-7311-417a-b30a-1286a84e037b\"}\n[2026-05-11 10:17:47] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7721c535-7311-417a-b30a-1286a84e037b\"}\n[2026-05-11 10:17:47] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7721c535-7311-417a-b30a-1286a84e037b\"}\n[2026-05-11 10:17:47] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":12} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7721c535-7311-417a-b30a-1286a84e037b\"}\n[2026-05-11 10:17:47] 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\":\"e20af459-b149-4a19-8ef6-4444b4cee8f9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"correlation_id\":\"e20af459-b149-4a19-8ef6-4444b4cee8f9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e20af459-b149-4a19-8ef6-4444b4cee8f9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] 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\":\"e20af459-b149-4a19-8ef6-4444b4cee8f9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e20af459-b149-4a19-8ef6-4444b4cee8f9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e20af459-b149-4a19-8ef6-4444b4cee8f9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e20af459-b149-4a19-8ef6-4444b4cee8f9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e20af459-b149-4a19-8ef6-4444b4cee8f9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"e20af459-b149-4a19-8ef6-4444b4cee8f9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"e20af459-b149-4a19-8ef6-4444b4cee8f9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"e20af459-b149-4a19-8ef6-4444b4cee8f9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90f3fc25-e34d-4c3a-b35c-84317a633c78\"}\n[2026-05-11 10:17:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610462} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90f3fc25-e34d-4c3a-b35c-84317a633c78\"}\n[2026-05-11 10:17:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610462,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90f3fc25-e34d-4c3a-b35c-84317a633c78\"}\n[2026-05-11 10:17:47] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90f3fc25-e34d-4c3a-b35c-84317a633c78\"}\n[2026-05-11 10:17:47] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90f3fc25-e34d-4c3a-b35c-84317a633c78\"}\n[2026-05-11 10:17:47] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90f3fc25-e34d-4c3a-b35c-84317a633c78\"}\n[2026-05-11 10:17:47] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90f3fc25-e34d-4c3a-b35c-84317a633c78\"}\n[2026-05-11 10:17:47] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90f3fc25-e34d-4c3a-b35c-84317a633c78\"}\n[2026-05-11 10:17:47] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90f3fc25-e34d-4c3a-b35c-84317a633c78\"}\n[2026-05-11 10:17:47] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90f3fc25-e34d-4c3a-b35c-84317a633c78\"}\n[2026-05-11 10:17:47] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":14} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90f3fc25-e34d-4c3a-b35c-84317a633c78\"}\n[2026-05-11 10:17:47] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.21,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:17:48] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6264c9dd-ba42-4c8f-a21f-3dffeb0c31c6\"}\n[2026-05-11 10:17:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610470} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6264c9dd-ba42-4c8f-a21f-3dffeb0c31c6\"}\n[2026-05-11 10:17:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610470,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6264c9dd-ba42-4c8f-a21f-3dffeb0c31c6\"}\n[2026-05-11 10:17:48] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6264c9dd-ba42-4c8f-a21f-3dffeb0c31c6\"}\n[2026-05-11 10:17:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6264c9dd-ba42-4c8f-a21f-3dffeb0c31c6\"}\n[2026-05-11 10:17:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6264c9dd-ba42-4c8f-a21f-3dffeb0c31c6\"}\n[2026-05-11 10:17:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6264c9dd-ba42-4c8f-a21f-3dffeb0c31c6\"}\n[2026-05-11 10:17:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6264c9dd-ba42-4c8f-a21f-3dffeb0c31c6\"}\n[2026-05-11 10:17:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6264c9dd-ba42-4c8f-a21f-3dffeb0c31c6\"}\n[2026-05-11 10:17:48] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6264c9dd-ba42-4c8f-a21f-3dffeb0c31c6\"}\n[2026-05-11 10:17:48] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":12} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6264c9dd-ba42-4c8f-a21f-3dffeb0c31c6\"}\n[2026-05-11 10:17: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\":\"64b7efd5-f92f-42b8-95ba-9a9e76fbb676\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"correlation_id\":\"64b7efd5-f92f-42b8-95ba-9a9e76fbb676\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"64b7efd5-f92f-42b8-95ba-9a9e76fbb676\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17: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\":\"64b7efd5-f92f-42b8-95ba-9a9e76fbb676\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"64b7efd5-f92f-42b8-95ba-9a9e76fbb676\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"64b7efd5-f92f-42b8-95ba-9a9e76fbb676\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"64b7efd5-f92f-42b8-95ba-9a9e76fbb676\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"64b7efd5-f92f-42b8-95ba-9a9e76fbb676\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"64b7efd5-f92f-42b8-95ba-9a9e76fbb676\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"64b7efd5-f92f-42b8-95ba-9a9e76fbb676\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"64b7efd5-f92f-42b8-95ba-9a9e76fbb676\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"aa8720ba-c5e3-4d7e-a7c3-697da34a195e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612562} {\"correlation_id\":\"aa8720ba-c5e3-4d7e-a7c3-697da34a195e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612562,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"aa8720ba-c5e3-4d7e-a7c3-697da34a195e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] 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\":\"aa8720ba-c5e3-4d7e-a7c3-697da34a195e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aa8720ba-c5e3-4d7e-a7c3-697da34a195e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aa8720ba-c5e3-4d7e-a7c3-697da34a195e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"aa8720ba-c5e3-4d7e-a7c3-697da34a195e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"aa8720ba-c5e3-4d7e-a7c3-697da34a195e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"correlation_id\":\"aa8720ba-c5e3-4d7e-a7c3-697da34a195e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] 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\":\"aa8720ba-c5e3-4d7e-a7c3-697da34a195e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"aa8720ba-c5e3-4d7e-a7c3-697da34a195e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"1abedcde-ca97-4113-b4a6-60a45a16f9d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610900} {\"correlation_id\":\"1abedcde-ca97-4113-b4a6-60a45a16f9d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610900,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1abedcde-ca97-4113-b4a6-60a45a16f9d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] 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\":\"1abedcde-ca97-4113-b4a6-60a45a16f9d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1abedcde-ca97-4113-b4a6-60a45a16f9d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1abedcde-ca97-4113-b4a6-60a45a16f9d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1abedcde-ca97-4113-b4a6-60a45a16f9d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1abedcde-ca97-4113-b4a6-60a45a16f9d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"1abedcde-ca97-4113-b4a6-60a45a16f9d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"1abedcde-ca97-4113-b4a6-60a45a16f9d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":12} {\"correlation_id\":\"1abedcde-ca97-4113-b4a6-60a45a16f9d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"d4390ffe-1359-41f6-9feb-f0bfbfdafc61\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610935} {\"correlation_id\":\"d4390ffe-1359-41f6-9feb-f0bfbfdafc61\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610935,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d4390ffe-1359-41f6-9feb-f0bfbfdafc61\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] 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\":\"d4390ffe-1359-41f6-9feb-f0bfbfdafc61\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d4390ffe-1359-41f6-9feb-f0bfbfdafc61\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d4390ffe-1359-41f6-9feb-f0bfbfdafc61\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d4390ffe-1359-41f6-9feb-f0bfbfdafc61\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d4390ffe-1359-41f6-9feb-f0bfbfdafc61\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"d4390ffe-1359-41f6-9feb-f0bfbfdafc61\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"d4390ffe-1359-41f6-9feb-f0bfbfdafc61\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":12} {\"correlation_id\":\"d4390ffe-1359-41f6-9feb-f0bfbfdafc61\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"42a128d7-d841-4c03-a6c0-7b9fa918ec1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611451} {\"correlation_id\":\"42a128d7-d841-4c03-a6c0-7b9fa918ec1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"42a128d7-d841-4c03-a6c0-7b9fa918ec1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] 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\":\"42a128d7-d841-4c03-a6c0-7b9fa918ec1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"42a128d7-d841-4c03-a6c0-7b9fa918ec1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"42a128d7-d841-4c03-a6c0-7b9fa918ec1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"42a128d7-d841-4c03-a6c0-7b9fa918ec1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"42a128d7-d841-4c03-a6c0-7b9fa918ec1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"42a128d7-d841-4c03-a6c0-7b9fa918ec1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"42a128d7-d841-4c03-a6c0-7b9fa918ec1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"42a128d7-d841-4c03-a6c0-7b9fa918ec1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612340,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"68eaf196-29ca-48a3-8e46-5bf37620dd08\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612340} {\"correlation_id\":\"68eaf196-29ca-48a3-8e46-5bf37620dd08\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612340,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"68eaf196-29ca-48a3-8e46-5bf37620dd08\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] 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\":\"68eaf196-29ca-48a3-8e46-5bf37620dd08\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"68eaf196-29ca-48a3-8e46-5bf37620dd08\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"68eaf196-29ca-48a3-8e46-5bf37620dd08\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"68eaf196-29ca-48a3-8e46-5bf37620dd08\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"68eaf196-29ca-48a3-8e46-5bf37620dd08\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"68eaf196-29ca-48a3-8e46-5bf37620dd08\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] 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\":\"68eaf196-29ca-48a3-8e46-5bf37620dd08\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"68eaf196-29ca-48a3-8e46-5bf37620dd08\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f997c306-a176-4f3a-8699-d9cd083d6993\"}\n[2026-05-11 10:17:49] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610426} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f997c306-a176-4f3a-8699-d9cd083d6993\"}\n[2026-05-11 10:17:49] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610426,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f997c306-a176-4f3a-8699-d9cd083d6993\"}\n[2026-05-11 10:17:49] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f997c306-a176-4f3a-8699-d9cd083d6993\"}\n[2026-05-11 10:17:49] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f997c306-a176-4f3a-8699-d9cd083d6993\"}\n[2026-05-11 10:17:49] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f997c306-a176-4f3a-8699-d9cd083d6993\"}\n[2026-05-11 10:17:49] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f997c306-a176-4f3a-8699-d9cd083d6993\"}\n[2026-05-11 10:17:49] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f997c306-a176-4f3a-8699-d9cd083d6993\"}\n[2026-05-11 10:17:49] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f997c306-a176-4f3a-8699-d9cd083d6993\"}\n[2026-05-11 10:17:49] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f997c306-a176-4f3a-8699-d9cd083d6993\"}\n[2026-05-11 10:17:49] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":11} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f997c306-a176-4f3a-8699-d9cd083d6993\"}\n[2026-05-11 10:17:49] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612336,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"18efa24c-257e-4842-af7d-5ec20872ab02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612336} {\"correlation_id\":\"18efa24c-257e-4842-af7d-5ec20872ab02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612336,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"18efa24c-257e-4842-af7d-5ec20872ab02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] 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\":\"18efa24c-257e-4842-af7d-5ec20872ab02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"18efa24c-257e-4842-af7d-5ec20872ab02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"18efa24c-257e-4842-af7d-5ec20872ab02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"18efa24c-257e-4842-af7d-5ec20872ab02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"18efa24c-257e-4842-af7d-5ec20872ab02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"18efa24c-257e-4842-af7d-5ec20872ab02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] 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\":\"18efa24c-257e-4842-af7d-5ec20872ab02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"18efa24c-257e-4842-af7d-5ec20872ab02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612360,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"af4fe4e8-53c1-4339-8100-49dadac0f280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612360} {\"correlation_id\":\"af4fe4e8-53c1-4339-8100-49dadac0f280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612360,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"af4fe4e8-53c1-4339-8100-49dadac0f280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] 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\":\"af4fe4e8-53c1-4339-8100-49dadac0f280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"af4fe4e8-53c1-4339-8100-49dadac0f280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"af4fe4e8-53c1-4339-8100-49dadac0f280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"af4fe4e8-53c1-4339-8100-49dadac0f280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"af4fe4e8-53c1-4339-8100-49dadac0f280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"af4fe4e8-53c1-4339-8100-49dadac0f280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] 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\":\"af4fe4e8-53c1-4339-8100-49dadac0f280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":13} {\"correlation_id\":\"af4fe4e8-53c1-4339-8100-49dadac0f280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612339,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"68a001e2-a116-4b5d-b8e7-902d08ada842\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612339} {\"correlation_id\":\"68a001e2-a116-4b5d-b8e7-902d08ada842\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612339,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"68a001e2-a116-4b5d-b8e7-902d08ada842\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] 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\":\"68a001e2-a116-4b5d-b8e7-902d08ada842\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"68a001e2-a116-4b5d-b8e7-902d08ada842\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"68a001e2-a116-4b5d-b8e7-902d08ada842\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"68a001e2-a116-4b5d-b8e7-902d08ada842\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"68a001e2-a116-4b5d-b8e7-902d08ada842\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"68a001e2-a116-4b5d-b8e7-902d08ada842\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] 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\":\"68a001e2-a116-4b5d-b8e7-902d08ada842\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":13} {\"correlation_id\":\"68a001e2-a116-4b5d-b8e7-902d08ada842\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"19bb8a09-8a89-4524-bfc1-e972923a1f2b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611087} {\"correlation_id\":\"19bb8a09-8a89-4524-bfc1-e972923a1f2b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611087,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"19bb8a09-8a89-4524-bfc1-e972923a1f2b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] 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\":\"19bb8a09-8a89-4524-bfc1-e972923a1f2b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"19bb8a09-8a89-4524-bfc1-e972923a1f2b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"19bb8a09-8a89-4524-bfc1-e972923a1f2b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"19bb8a09-8a89-4524-bfc1-e972923a1f2b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"19bb8a09-8a89-4524-bfc1-e972923a1f2b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"19bb8a09-8a89-4524-bfc1-e972923a1f2b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"19bb8a09-8a89-4524-bfc1-e972923a1f2b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"19bb8a09-8a89-4524-bfc1-e972923a1f2b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"dd53be6e-a456-46da-ab7c-c2988301922f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611455} {\"correlation_id\":\"dd53be6e-a456-46da-ab7c-c2988301922f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611455,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dd53be6e-a456-46da-ab7c-c2988301922f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] 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\":\"dd53be6e-a456-46da-ab7c-c2988301922f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dd53be6e-a456-46da-ab7c-c2988301922f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dd53be6e-a456-46da-ab7c-c2988301922f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"dd53be6e-a456-46da-ab7c-c2988301922f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"dd53be6e-a456-46da-ab7c-c2988301922f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"dd53be6e-a456-46da-ab7c-c2988301922f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"dd53be6e-a456-46da-ab7c-c2988301922f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":13} {\"correlation_id\":\"dd53be6e-a456-46da-ab7c-c2988301922f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"4d0438c5-9dc4-4b93-b643-6417ac75f31a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611076} {\"correlation_id\":\"4d0438c5-9dc4-4b93-b643-6417ac75f31a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611076,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4d0438c5-9dc4-4b93-b643-6417ac75f31a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] 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\":\"4d0438c5-9dc4-4b93-b643-6417ac75f31a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4d0438c5-9dc4-4b93-b643-6417ac75f31a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4d0438c5-9dc4-4b93-b643-6417ac75f31a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4d0438c5-9dc4-4b93-b643-6417ac75f31a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4d0438c5-9dc4-4b93-b643-6417ac75f31a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"4d0438c5-9dc4-4b93-b643-6417ac75f31a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"4d0438c5-9dc4-4b93-b643-6417ac75f31a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"4d0438c5-9dc4-4b93-b643-6417ac75f31a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610539} {\"correlation_id\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610539,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] 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\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":1.19,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:17:53] local.WARNING: [Hubspot] No retry-after header or policy name found, using default {\"exception_class\":\"SevenShores\\\\Hubspot\\\\Exceptions\\\\BadRequest\"} {\"correlation_id\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":10,\"policy\":null,\"reason\":\"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\\\":\\\"019e168b-1 (truncated...)\n\"} {\"correlation_id\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"88d5107a-d1a9-4def-8f1f-6ff8bea40516\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610915} {\"correlation_id\":\"88d5107a-d1a9-4def-8f1f-6ff8bea40516\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610915,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"88d5107a-d1a9-4def-8f1f-6ff8bea40516\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] 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\":\"88d5107a-d1a9-4def-8f1f-6ff8bea40516\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"88d5107a-d1a9-4def-8f1f-6ff8bea40516\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"88d5107a-d1a9-4def-8f1f-6ff8bea40516\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"88d5107a-d1a9-4def-8f1f-6ff8bea40516\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"88d5107a-d1a9-4def-8f1f-6ff8bea40516\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"88d5107a-d1a9-4def-8f1f-6ff8bea40516\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"88d5107a-d1a9-4def-8f1f-6ff8bea40516\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":12} {\"correlation_id\":\"88d5107a-d1a9-4def-8f1f-6ff8bea40516\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"9eb70001-f31f-427d-9ecb-d42969509f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610878} {\"correlation_id\":\"9eb70001-f31f-427d-9ecb-d42969509f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610878,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9eb70001-f31f-427d-9ecb-d42969509f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] 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\":\"9eb70001-f31f-427d-9ecb-d42969509f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9eb70001-f31f-427d-9ecb-d42969509f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9eb70001-f31f-427d-9ecb-d42969509f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9eb70001-f31f-427d-9ecb-d42969509f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9eb70001-f31f-427d-9ecb-d42969509f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"9eb70001-f31f-427d-9ecb-d42969509f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"9eb70001-f31f-427d-9ecb-d42969509f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"9eb70001-f31f-427d-9ecb-d42969509f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"b291b19d-e631-4390-a8ce-49431d5f566f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610528} {\"correlation_id\":\"b291b19d-e631-4390-a8ce-49431d5f566f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610528,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b291b19d-e631-4390-a8ce-49431d5f566f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] 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\":\"b291b19d-e631-4390-a8ce-49431d5f566f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b291b19d-e631-4390-a8ce-49431d5f566f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b291b19d-e631-4390-a8ce-49431d5f566f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b291b19d-e631-4390-a8ce-49431d5f566f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b291b19d-e631-4390-a8ce-49431d5f566f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"b291b19d-e631-4390-a8ce-49431d5f566f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"b291b19d-e631-4390-a8ce-49431d5f566f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"b291b19d-e631-4390-a8ce-49431d5f566f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"4b8fb89e-a1a0-4894-81d9-5d1e86570512\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610874} {\"correlation_id\":\"4b8fb89e-a1a0-4894-81d9-5d1e86570512\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610874,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4b8fb89e-a1a0-4894-81d9-5d1e86570512\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] 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\":\"4b8fb89e-a1a0-4894-81d9-5d1e86570512\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4b8fb89e-a1a0-4894-81d9-5d1e86570512\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4b8fb89e-a1a0-4894-81d9-5d1e86570512\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4b8fb89e-a1a0-4894-81d9-5d1e86570512\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4b8fb89e-a1a0-4894-81d9-5d1e86570512\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"4b8fb89e-a1a0-4894-81d9-5d1e86570512\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"4b8fb89e-a1a0-4894-81d9-5d1e86570512\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"4b8fb89e-a1a0-4894-81d9-5d1e86570512\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"f27f33ba-8caa-49a5-9cad-cd8293e9a7db\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610497} {\"correlation_id\":\"f27f33ba-8caa-49a5-9cad-cd8293e9a7db\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610497,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f27f33ba-8caa-49a5-9cad-cd8293e9a7db\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] 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\":\"f27f33ba-8caa-49a5-9cad-cd8293e9a7db\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f27f33ba-8caa-49a5-9cad-cd8293e9a7db\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f27f33ba-8caa-49a5-9cad-cd8293e9a7db\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f27f33ba-8caa-49a5-9cad-cd8293e9a7db\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f27f33ba-8caa-49a5-9cad-cd8293e9a7db\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"f27f33ba-8caa-49a5-9cad-cd8293e9a7db\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"f27f33ba-8caa-49a5-9cad-cd8293e9a7db\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":12} {\"correlation_id\":\"f27f33ba-8caa-49a5-9cad-cd8293e9a7db\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"af6121c1-ef51-49a6-acda-bb121812831a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610617} {\"correlation_id\":\"af6121c1-ef51-49a6-acda-bb121812831a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610617,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"af6121c1-ef51-49a6-acda-bb121812831a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] 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\":\"af6121c1-ef51-49a6-acda-bb121812831a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"af6121c1-ef51-49a6-acda-bb121812831a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"af6121c1-ef51-49a6-acda-bb121812831a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"af6121c1-ef51-49a6-acda-bb121812831a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"af6121c1-ef51-49a6-acda-bb121812831a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"af6121c1-ef51-49a6-acda-bb121812831a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"af6121c1-ef51-49a6-acda-bb121812831a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"af6121c1-ef51-49a6-acda-bb121812831a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"7c89eb2a-2a39-463f-abad-6b13e5fed935\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610885} {\"correlation_id\":\"7c89eb2a-2a39-463f-abad-6b13e5fed935\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610885,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7c89eb2a-2a39-463f-abad-6b13e5fed935\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] 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\":\"7c89eb2a-2a39-463f-abad-6b13e5fed935\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7c89eb2a-2a39-463f-abad-6b13e5fed935\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7c89eb2a-2a39-463f-abad-6b13e5fed935\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"7c89eb2a-2a39-463f-abad-6b13e5fed935\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"7c89eb2a-2a39-463f-abad-6b13e5fed935\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"7c89eb2a-2a39-463f-abad-6b13e5fed935\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"7c89eb2a-2a39-463f-abad-6b13e5fed935\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":13} {\"correlation_id\":\"7c89eb2a-2a39-463f-abad-6b13e5fed935\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:56] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"9c37e4f5-1e21-4f96-86d0-2d8f2ce76d49\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:56] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610867} {\"correlation_id\":\"9c37e4f5-1e21-4f96-86d0-2d8f2ce76d49\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:56] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610867,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9c37e4f5-1e21-4f96-86d0-2d8f2ce76d49\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:56] 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\":\"9c37e4f5-1e21-4f96-86d0-2d8f2ce76d49\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:56] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9c37e4f5-1e21-4f96-86d0-2d8f2ce76d49\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:56] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9c37e4f5-1e21-4f96-86d0-2d8f2ce76d49\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:56] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9c37e4f5-1e21-4f96-86d0-2d8f2ce76d49\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:56] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9c37e4f5-1e21-4f96-86d0-2d8f2ce76d49\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:56] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"9c37e4f5-1e21-4f96-86d0-2d8f2ce76d49\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:56] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"9c37e4f5-1e21-4f96-86d0-2d8f2ce76d49\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:56] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":12} {\"correlation_id\":\"9c37e4f5-1e21-4f96-86d0-2d8f2ce76d49\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"5a0ad4cc-8cdd-4f1e-8bae-a70a2f7b7280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610490} {\"correlation_id\":\"5a0ad4cc-8cdd-4f1e-8bae-a70a2f7b7280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610490,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5a0ad4cc-8cdd-4f1e-8bae-a70a2f7b7280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] 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\":\"5a0ad4cc-8cdd-4f1e-8bae-a70a2f7b7280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5a0ad4cc-8cdd-4f1e-8bae-a70a2f7b7280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5a0ad4cc-8cdd-4f1e-8bae-a70a2f7b7280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"5a0ad4cc-8cdd-4f1e-8bae-a70a2f7b7280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"5a0ad4cc-8cdd-4f1e-8bae-a70a2f7b7280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"5a0ad4cc-8cdd-4f1e-8bae-a70a2f7b7280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] 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\":\"5a0ad4cc-8cdd-4f1e-8bae-a70a2f7b7280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] 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\":\"5a0ad4cc-8cdd-4f1e-8bae-a70a2f7b7280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"5a0ad4cc-8cdd-4f1e-8bae-a70a2f7b7280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"9884d6bc-6966-4c2b-b123-bd6bff97b920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610451} {\"correlation_id\":\"9884d6bc-6966-4c2b-b123-bd6bff97b920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9884d6bc-6966-4c2b-b123-bd6bff97b920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] 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\":\"9884d6bc-6966-4c2b-b123-bd6bff97b920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9884d6bc-6966-4c2b-b123-bd6bff97b920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9884d6bc-6966-4c2b-b123-bd6bff97b920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9884d6bc-6966-4c2b-b123-bd6bff97b920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9884d6bc-6966-4c2b-b123-bd6bff97b920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"9884d6bc-6966-4c2b-b123-bd6bff97b920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"9884d6bc-6966-4c2b-b123-bd6bff97b920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"9884d6bc-6966-4c2b-b123-bd6bff97b920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] 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}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"a7f9bc7e-977e-4032-820f-1e0b80c6214f\"}\n[2026-05-11 10:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"a7f9bc7e-977e-4032-820f-1e0b80c6214f\"}\n[2026-05-11 10:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"a7f9bc7e-977e-4032-820f-1e0b80c6214f\"}\n[2026-05-11 10:17:58] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"a7f9bc7e-977e-4032-820f-1e0b80c6214f\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"a7f9bc7e-977e-4032-820f-1e0b80c6214f\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"a7f9bc7e-977e-4032-820f-1e0b80c6214f\"}\n[2026-05-11 10:17:58] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"a7f9bc7e-977e-4032-820f-1e0b80c6214f\"}\n[2026-05-11 10:17:58] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"a7f9bc7e-977e-4032-820f-1e0b80c6214f\"}\n[2026-05-11 10:17:58] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"a7f9bc7e-977e-4032-820f-1e0b80c6214f\"}\n[2026-05-11 10:17:58] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"a7f9bc7e-977e-4032-820f-1e0b80c6214f\"}\n[2026-05-11 10:17:58] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"4674593f-9f44-4f03-8474-ff0a7926a543\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610764} {\"correlation_id\":\"4674593f-9f44-4f03-8474-ff0a7926a543\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610764,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4674593f-9f44-4f03-8474-ff0a7926a543\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] 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\":\"4674593f-9f44-4f03-8474-ff0a7926a543\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4674593f-9f44-4f03-8474-ff0a7926a543\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4674593f-9f44-4f03-8474-ff0a7926a543\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4674593f-9f44-4f03-8474-ff0a7926a543\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4674593f-9f44-4f03-8474-ff0a7926a543\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"4674593f-9f44-4f03-8474-ff0a7926a543\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"4674593f-9f44-4f03-8474-ff0a7926a543\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"4674593f-9f44-4f03-8474-ff0a7926a543\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"9c459c55-c8be-453e-9540-0477f5134f6f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610506} {\"correlation_id\":\"9c459c55-c8be-453e-9540-0477f5134f6f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610506,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9c459c55-c8be-453e-9540-0477f5134f6f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] 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\":\"9c459c55-c8be-453e-9540-0477f5134f6f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9c459c55-c8be-453e-9540-0477f5134f6f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9c459c55-c8be-453e-9540-0477f5134f6f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9c459c55-c8be-453e-9540-0477f5134f6f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9c459c55-c8be-453e-9540-0477f5134f6f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"9c459c55-c8be-453e-9540-0477f5134f6f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"9c459c55-c8be-453e-9540-0477f5134f6f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":10} {\"correlation_id\":\"9c459c55-c8be-453e-9540-0477f5134f6f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"52ae8415-fd35-4109-8db4-45893cf37c4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610403} {\"correlation_id\":\"52ae8415-fd35-4109-8db4-45893cf37c4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610403,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"52ae8415-fd35-4109-8db4-45893cf37c4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] 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\":\"52ae8415-fd35-4109-8db4-45893cf37c4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"52ae8415-fd35-4109-8db4-45893cf37c4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"52ae8415-fd35-4109-8db4-45893cf37c4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"52ae8415-fd35-4109-8db4-45893cf37c4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"52ae8415-fd35-4109-8db4-45893cf37c4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"52ae8415-fd35-4109-8db4-45893cf37c4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"52ae8415-fd35-4109-8db4-45893cf37c4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"52ae8415-fd35-4109-8db4-45893cf37c4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] 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}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3693e67e-875d-4232-a495-1621a90bf41a\"}\n[2026-05-11 10:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3693e67e-875d-4232-a495-1621a90bf41a\"}\n[2026-05-11 10:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3693e67e-875d-4232-a495-1621a90bf41a\"}\n[2026-05-11 10:17:58] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3693e67e-875d-4232-a495-1621a90bf41a\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3693e67e-875d-4232-a495-1621a90bf41a\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3693e67e-875d-4232-a495-1621a90bf41a\"}\n[2026-05-11 10:17:58] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3693e67e-875d-4232-a495-1621a90bf41a\"}\n[2026-05-11 10:17:58] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3693e67e-875d-4232-a495-1621a90bf41a\"}\n[2026-05-11 10:17:58] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3693e67e-875d-4232-a495-1621a90bf41a\"}\n[2026-05-11 10:17:58] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3693e67e-875d-4232-a495-1621a90bf41a\"}\n[2026-05-11 10:17:58] 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}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"56a279f5-3276-4781-9691-6ac712992a03\"}\n[2026-05-11 10:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"56a279f5-3276-4781-9691-6ac712992a03\"}\n[2026-05-11 10:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"56a279f5-3276-4781-9691-6ac712992a03\"}\n[2026-05-11 10:17:58] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"56a279f5-3276-4781-9691-6ac712992a03\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"56a279f5-3276-4781-9691-6ac712992a03\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"56a279f5-3276-4781-9691-6ac712992a03\"}\n[2026-05-11 10:17:58] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"56a279f5-3276-4781-9691-6ac712992a03\"}\n[2026-05-11 10:17:58] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"56a279f5-3276-4781-9691-6ac712992a03\"}\n[2026-05-11 10:17:59] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"56a279f5-3276-4781-9691-6ac712992a03\"}\n[2026-05-11 10:17:59] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"56a279f5-3276-4781-9691-6ac712992a03\"}\n[2026-05-11 10:17:59] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"2149fff4-fc50-4b5e-8346-f4fe92446383\"}\n[2026-05-11 10:17:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612562} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"2149fff4-fc50-4b5e-8346-f4fe92446383\"}\n[2026-05-11 10:17:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612562,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"2149fff4-fc50-4b5e-8346-f4fe92446383\"}\n[2026-05-11 10:17:59] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"2149fff4-fc50-4b5e-8346-f4fe92446383\"}\n[2026-05-11 10:17:59] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"2149fff4-fc50-4b5e-8346-f4fe92446383\"}\n[2026-05-11 10:17:59] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"2149fff4-fc50-4b5e-8346-f4fe92446383\"}\n[2026-05-11 10:17:59] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"2149fff4-fc50-4b5e-8346-f4fe92446383\"}\n[2026-05-11 10:17:59] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"2149fff4-fc50-4b5e-8346-f4fe92446383\"}\n[2026-05-11 10:17:59] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"2149fff4-fc50-4b5e-8346-f4fe92446383\"}\n[2026-05-11 10:17:59] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"2149fff4-fc50-4b5e-8346-f4fe92446383\"}\n[2026-05-11 10:17:59] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"6c488719-2433-44c2-be14-6234030389cb\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610438} {\"correlation_id\":\"6c488719-2433-44c2-be14-6234030389cb\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610438,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"6c488719-2433-44c2-be14-6234030389cb\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:59] 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\":\"6c488719-2433-44c2-be14-6234030389cb\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:59] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.31,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:17:59] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6c488719-2433-44c2-be14-6234030389cb\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:59] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6c488719-2433-44c2-be14-6234030389cb\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:59] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"6c488719-2433-44c2-be14-6234030389cb\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:59] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"6c488719-2433-44c2-be14-6234030389cb\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:59] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"6c488719-2433-44c2-be14-6234030389cb\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:59] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"6c488719-2433-44c2-be14-6234030389cb\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:59] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":13} {\"correlation_id\":\"6c488719-2433-44c2-be14-6234030389cb\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:00] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612819,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"af37fbba-e927-4df9-840b-3ede48a1d911\"}\n[2026-05-11 10:18:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"af37fbba-e927-4df9-840b-3ede48a1d911\"}\n[2026-05-11 10:18:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"af37fbba-e927-4df9-840b-3ede48a1d911\"}\n[2026-05-11 10:18:00] 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\":null,\"contact_id\":null,\"lead_id\":null}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"af37fbba-e927-4df9-840b-3ede48a1d911\"}\n[2026-05-11 10:18:00] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"af37fbba-e927-4df9-840b-3ede48a1d911\"}\n[2026-05-11 10:18:00] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"af37fbba-e927-4df9-840b-3ede48a1d911\"}\n[2026-05-11 10:18:00] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"af37fbba-e927-4df9-840b-3ede48a1d911\"}\n[2026-05-11 10:18:00] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"af37fbba-e927-4df9-840b-3ede48a1d911\"}\n[2026-05-11 10:18:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"af37fbba-e927-4df9-840b-3ede48a1d911\"}\n[2026-05-11 10:18:00] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612819,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"af37fbba-e927-4df9-840b-3ede48a1d911\"}\n[2026-05-11 10:18:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"af37fbba-e927-4df9-840b-3ede48a1d911\"}\n[2026-05-11 10:18:00] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"af37fbba-e927-4df9-840b-3ede48a1d911\"}\n[2026-05-11 10:18:00] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612847,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"534825cf-e6d0-42f8-8ff6-18fee9ebbcf9\"}\n[2026-05-11 10:18:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"534825cf-e6d0-42f8-8ff6-18fee9ebbcf9\"}\n[2026-05-11 10:18:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"534825cf-e6d0-42f8-8ff6-18fee9ebbcf9\"}\n[2026-05-11 10:18:00] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612847,\"participants\":[{\"id\":1000130,\"user_id\":null,\"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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"534825cf-e6d0-42f8-8ff6-18fee9ebbcf9\"}\n[2026-05-11 10:18:00] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"534825cf-e6d0-42f8-8ff6-18fee9ebbcf9\"}\n[2026-05-11 10:18:00] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"534825cf-e6d0-42f8-8ff6-18fee9ebbcf9\"}\n[2026-05-11 10:18:00] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"534825cf-e6d0-42f8-8ff6-18fee9ebbcf9\"}\n[2026-05-11 10:18:00] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"534825cf-e6d0-42f8-8ff6-18fee9ebbcf9\"}\n[2026-05-11 10:18:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"534825cf-e6d0-42f8-8ff6-18fee9ebbcf9\"}\n[2026-05-11 10:18:00] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"534825cf-e6d0-42f8-8ff6-18fee9ebbcf9\"}\n[2026-05-11 10:18:00] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"13c3f8a7-53c0-490e-915d-f30216c6fae9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610470} {\"correlation_id\":\"13c3f8a7-53c0-490e-915d-f30216c6fae9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610470,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"13c3f8a7-53c0-490e-915d-f30216c6fae9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:00] 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\":\"13c3f8a7-53c0-490e-915d-f30216c6fae9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:00] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"13c3f8a7-53c0-490e-915d-f30216c6fae9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:00] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"13c3f8a7-53c0-490e-915d-f30216c6fae9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:00] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"13c3f8a7-53c0-490e-915d-f30216c6fae9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:00] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"13c3f8a7-53c0-490e-915d-f30216c6fae9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"13c3f8a7-53c0-490e-915d-f30216c6fae9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:00] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"13c3f8a7-53c0-490e-915d-f30216c6fae9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:00] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"13c3f8a7-53c0-490e-915d-f30216c6fae9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"785d023d-231c-4c69-9e14-64b9f386cd8a\"}\n[2026-05-11 10:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610900} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"785d023d-231c-4c69-9e14-64b9f386cd8a\"}\n[2026-05-11 10:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610900,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"785d023d-231c-4c69-9e14-64b9f386cd8a\"}\n[2026-05-11 10:18:01] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"785d023d-231c-4c69-9e14-64b9f386cd8a\"}\n[2026-05-11 10:18:01] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"785d023d-231c-4c69-9e14-64b9f386cd8a\"}\n[2026-05-11 10:18:01] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"785d023d-231c-4c69-9e14-64b9f386cd8a\"}\n[2026-05-11 10:18:01] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"785d023d-231c-4c69-9e14-64b9f386cd8a\"}\n[2026-05-11 10:18:01] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"785d023d-231c-4c69-9e14-64b9f386cd8a\"}\n[2026-05-11 10:18:01] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"785d023d-231c-4c69-9e14-64b9f386cd8a\"}\n[2026-05-11 10:18:01] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"785d023d-231c-4c69-9e14-64b9f386cd8a\"}\n[2026-05-11 10:18:01] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"aea37783-669f-433b-aac7-ead252f60285\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610426} {\"correlation_id\":\"aea37783-669f-433b-aac7-ead252f60285\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610426,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"aea37783-669f-433b-aac7-ead252f60285\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] 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\":\"aea37783-669f-433b-aac7-ead252f60285\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aea37783-669f-433b-aac7-ead252f60285\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aea37783-669f-433b-aac7-ead252f60285\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"aea37783-669f-433b-aac7-ead252f60285\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"aea37783-669f-433b-aac7-ead252f60285\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"aea37783-669f-433b-aac7-ead252f60285\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"aea37783-669f-433b-aac7-ead252f60285\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":10} {\"correlation_id\":\"aea37783-669f-433b-aac7-ead252f60285\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73386989-234b-4074-93cd-b907d73fb039\"}\n[2026-05-11 10:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610935} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73386989-234b-4074-93cd-b907d73fb039\"}\n[2026-05-11 10:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610935,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73386989-234b-4074-93cd-b907d73fb039\"}\n[2026-05-11 10:18:01] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73386989-234b-4074-93cd-b907d73fb039\"}\n[2026-05-11 10:18:01] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73386989-234b-4074-93cd-b907d73fb039\"}\n[2026-05-11 10:18:01] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73386989-234b-4074-93cd-b907d73fb039\"}\n[2026-05-11 10:18:01] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73386989-234b-4074-93cd-b907d73fb039\"}\n[2026-05-11 10:18:01] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73386989-234b-4074-93cd-b907d73fb039\"}\n[2026-05-11 10:18:01] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73386989-234b-4074-93cd-b907d73fb039\"}\n[2026-05-11 10:18:01] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73386989-234b-4074-93cd-b907d73fb039\"}\n[2026-05-11 10:18:01] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"67837137-7da9-4fc3-807c-fa87dbcc5090\"}\n[2026-05-11 10:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612560} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"67837137-7da9-4fc3-807c-fa87dbcc5090\"}\n[2026-05-11 10:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612560,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"67837137-7da9-4fc3-807c-fa87dbcc5090\"}\n[2026-05-11 10:18:01] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"67837137-7da9-4fc3-807c-fa87dbcc5090\"}\n[2026-05-11 10:18:01] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"67837137-7da9-4fc3-807c-fa87dbcc5090\"}\n[2026-05-11 10:18:01] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"67837137-7da9-4fc3-807c-fa87dbcc5090\"}\n[2026-05-11 10:18:01] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"67837137-7da9-4fc3-807c-fa87dbcc5090\"}\n[2026-05-11 10:18:01] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"67837137-7da9-4fc3-807c-fa87dbcc5090\"}\n[2026-05-11 10:18:01] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"67837137-7da9-4fc3-807c-fa87dbcc5090\"}\n[2026-05-11 10:18:01] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"67837137-7da9-4fc3-807c-fa87dbcc5090\"}\n[2026-05-11 10:18:01] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1d0c22f1-5e71-452c-94ab-4a7ba39ee8be\"}\n[2026-05-11 10:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612561} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1d0c22f1-5e71-452c-94ab-4a7ba39ee8be\"}\n[2026-05-11 10:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612561,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1d0c22f1-5e71-452c-94ab-4a7ba39ee8be\"}\n[2026-05-11 10:18:01] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1d0c22f1-5e71-452c-94ab-4a7ba39ee8be\"}\n[2026-05-11 10:18:01] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1d0c22f1-5e71-452c-94ab-4a7ba39ee8be\"}\n[2026-05-11 10:18:01] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1d0c22f1-5e71-452c-94ab-4a7ba39ee8be\"}\n[2026-05-11 10:18:01] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1d0c22f1-5e71-452c-94ab-4a7ba39ee8be\"}\n[2026-05-11 10:18:01] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1d0c22f1-5e71-452c-94ab-4a7ba39ee8be\"}\n[2026-05-11 10:18:01] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612561,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1d0c22f1-5e71-452c-94ab-4a7ba39ee8be\"}\n[2026-05-11 10:18:01] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1d0c22f1-5e71-452c-94ab-4a7ba39ee8be\"}\n[2026-05-11 10:18:01] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1d0c22f1-5e71-452c-94ab-4a7ba39ee8be\"}\n[2026-05-11 10:18:01] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"5e4163ac-fdc7-49df-89de-383bf3f5bcd4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610462} {\"correlation_id\":\"5e4163ac-fdc7-49df-89de-383bf3f5bcd4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610462,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5e4163ac-fdc7-49df-89de-383bf3f5bcd4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] 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\":\"5e4163ac-fdc7-49df-89de-383bf3f5bcd4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5e4163ac-fdc7-49df-89de-383bf3f5bcd4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5e4163ac-fdc7-49df-89de-383bf3f5bcd4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"5e4163ac-fdc7-49df-89de-383bf3f5bcd4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"5e4163ac-fdc7-49df-89de-383bf3f5bcd4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"5e4163ac-fdc7-49df-89de-383bf3f5bcd4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"5e4163ac-fdc7-49df-89de-383bf3f5bcd4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":10} {\"correlation_id\":\"5e4163ac-fdc7-49df-89de-383bf3f5bcd4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:02] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":614378,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":6167,\"account_id\":null,\"opportunity_id\":null,\"stage_id\":null}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9476099f-6f93-4402-b763-b075c4f8ed44\"}\n[2026-05-11 10:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9476099f-6f93-4402-b763-b075c4f8ed44\"}\n[2026-05-11 10:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9476099f-6f93-4402-b763-b075c4f8ed44\"}\n[2026-05-11 10:18:02] 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\":6167,\"lead_id\":null},{\"id\":1002625,\"user_id\":89,\"contact_id\":null,\"lead_id\":null}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9476099f-6f93-4402-b763-b075c4f8ed44\"}\n[2026-05-11 10:18:02] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9476099f-6f93-4402-b763-b075c4f8ed44\"}\n[2026-05-11 10:18:02] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9476099f-6f93-4402-b763-b075c4f8ed44\"}\n[2026-05-11 10:18:02] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9476099f-6f93-4402-b763-b075c4f8ed44\"}\n[2026-05-11 10:18:02] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9476099f-6f93-4402-b763-b075c4f8ed44\"}\n[2026-05-11 10:18:02] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9476099f-6f93-4402-b763-b075c4f8ed44\"}\n[2026-05-11 10:18:02] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9476099f-6f93-4402-b763-b075c4f8ed44\"}\n[2026-05-11 10:18:03] 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}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7e0e12d1-b270-490b-848b-763e373c90e0\"}\n[2026-05-11 10:18:03] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7e0e12d1-b270-490b-848b-763e373c90e0\"}\n[2026-05-11 10:18:03] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7e0e12d1-b270-490b-848b-763e373c90e0\"}\n[2026-05-11 10:18:03] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7e0e12d1-b270-490b-848b-763e373c90e0\"}\n[2026-05-11 10:18:03] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7e0e12d1-b270-490b-848b-763e373c90e0\"}\n[2026-05-11 10:18:03] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7e0e12d1-b270-490b-848b-763e373c90e0\"}\n[2026-05-11 10:18:03] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7e0e12d1-b270-490b-848b-763e373c90e0\"}\n[2026-05-11 10:18:03] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7e0e12d1-b270-490b-848b-763e373c90e0\"}\n[2026-05-11 10:18:03] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7e0e12d1-b270-490b-848b-763e373c90e0\"}\n[2026-05-11 10:18:03] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7e0e12d1-b270-490b-848b-763e373c90e0\"}\n[2026-05-11 10:18: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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"adaf1f1e-8477-469f-86c9-9c59d2623f11\"}\n[2026-05-11 10:18:03] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611451} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"adaf1f1e-8477-469f-86c9-9c59d2623f11\"}\n[2026-05-11 10:18:03] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"adaf1f1e-8477-469f-86c9-9c59d2623f11\"}\n[2026-05-11 10:18: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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"adaf1f1e-8477-469f-86c9-9c59d2623f11\"}\n[2026-05-11 10:18:03] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"adaf1f1e-8477-469f-86c9-9c59d2623f11\"}\n[2026-05-11 10:18:03] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"adaf1f1e-8477-469f-86c9-9c59d2623f11\"}\n[2026-05-11 10:18:03] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"adaf1f1e-8477-469f-86c9-9c59d2623f11\"}\n[2026-05-11 10:18:03] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"adaf1f1e-8477-469f-86c9-9c59d2623f11\"}\n[2026-05-11 10:18:03] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"adaf1f1e-8477-469f-86c9-9c59d2623f11\"}\n[2026-05-11 10:18:03] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"adaf1f1e-8477-469f-86c9-9c59d2623f11\"}\n[2026-05-11 10:18:03] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612336,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1235043b-578e-49e0-9ebe-230be6d9a8f8\"}\n[2026-05-11 10:18:03] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612336} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1235043b-578e-49e0-9ebe-230be6d9a8f8\"}\n[2026-05-11 10:18:03] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612336,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1235043b-578e-49e0-9ebe-230be6d9a8f8\"}\n[2026-05-11 10:18:03] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1235043b-578e-49e0-9ebe-230be6d9a8f8\"}\n[2026-05-11 10:18:03] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1235043b-578e-49e0-9ebe-230be6d9a8f8\"}\n[2026-05-11 10:18:03] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1235043b-578e-49e0-9ebe-230be6d9a8f8\"}\n[2026-05-11 10:18:03] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1235043b-578e-49e0-9ebe-230be6d9a8f8\"}\n[2026-05-11 10:18:03] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1235043b-578e-49e0-9ebe-230be6d9a8f8\"}\n[2026-05-11 10:18:03] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1235043b-578e-49e0-9ebe-230be6d9a8f8\"}\n[2026-05-11 10:18:03] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612336,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1235043b-578e-49e0-9ebe-230be6d9a8f8\"}\n[2026-05-11 10:18:04] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610539} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610539,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:04] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:04] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:04] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:04] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:04] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.47,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:18: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.3,\"average_seconds_per_request\":0.3} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:05] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:05] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:05] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:05] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:05] 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}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18: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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:06] 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\":\"1042ef38-481f-4e55-9261-bb89ceb4cd6f\",\"trace_id\":\"3cbbfc20-36d7-4827-9e77-e5ea12d34c82\"}\n[2026-05-11 10:18:06] local.INFO: [ScheduleBotCommand] Number of activities to be captured: 0 {\"correlation_id\":\"1042ef38-481f-4e55-9261-bb89ceb4cd6f\",\"trace_id\":\"3cbbfc20-36d7-4827-9e77-e5ea12d34c82\"}\n[2026-05-11 10:18:06] 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\":\"1042ef38-481f-4e55-9261-bb89ceb4cd6f\",\"trace_id\":\"3cbbfc20-36d7-4827-9e77-e5ea12d34c82\"}\n[2026-05-11 10:18: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\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610539,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610539} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610539,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:06] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18: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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610878} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610878,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18: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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:06] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:06] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18: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\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610878,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610878} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610878,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:07] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:07] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612340,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612340} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612340,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612340,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] 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.25,\"average_seconds_per_request\":0.25} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] 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.48,\"average_seconds_per_request\":0.48} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612340,\"participants_processed\":4,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612340} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612340,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:08] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612360,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612360} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612360,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612360,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612360,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612360} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612360,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612339,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612339} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612339,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612339,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612339,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612339} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612339,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611455} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611455,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:08] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:08] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:08] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:08] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:08] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:08] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:08] 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\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:08] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:09] 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.66,\"average_seconds_per_request\":0.66} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:09] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:09] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:09] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:09] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"dialers:monitor-activities\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"e0173b67-adc7-4861-acea-33ec563fa8bc\",\"trace_id\":\"df5cbecf-dde1-4674-82c8-8b7a2f4b74de\"}\n[2026-05-11 10:18:09] 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\":\"e0173b67-adc7-4861-acea-33ec563fa8bc\",\"trace_id\":\"df5cbecf-dde1-4674-82c8-8b7a2f4b74de\"}\n[2026-05-11 10:18:09] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:09] 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}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:09] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.3,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:18:09] 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.26,\"average_seconds_per_request\":0.26} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":611455,\"team_id\":2,\"email\":\"aneliya.angelova@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611455,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611455} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611455,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:10] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:10] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610915} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610915,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610915,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610915,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610915} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610915,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610528} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610528,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610528,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610528,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610528} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610528,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611087} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611087,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":611087,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611087,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611087} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611087,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611076} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611076,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":611076,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611076,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611076} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611076,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610497} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610497,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610497,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610497,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610497} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610497,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610867} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610867,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610867,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610867,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610867} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610867,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610490} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610490,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610490,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610490,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610490} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610490,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610506} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610506,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610506,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610506,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610506} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610506,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610885} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610885,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610885,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610885,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610885} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610885,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610874} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610874,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610874,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610874,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610874} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610874,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610617} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610617,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610617,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610617,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610617} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610617,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] 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\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] 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\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] 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\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] 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\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] local.NOTICE: Monitoring start {\"correlation_id\":\"f1c8fc03-337f-4edb-a859-cd9fb18b900e\",\"trace_id\":\"503eff58-a255-4b63-9001-481d9a9bd530\"}\n[2026-05-11 10:18:11] 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\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] local.NOTICE: Monitoring end {\"correlation_id\":\"f1c8fc03-337f-4edb-a859-cd9fb18b900e\",\"trace_id\":\"503eff58-a255-4b63-9001-481d9a9bd530\"}\n[2026-05-11 10:18:12] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:12] 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\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:12] 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.42,\"average_seconds_per_request\":0.42} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:14] 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\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:14] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614382,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:14] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:14] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] 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\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] 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\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"correlation_id\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] 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\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] 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\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614381,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"correlation_id\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] 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\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.55,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:18:15] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610426} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610426,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610426,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610426,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610426} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610426,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:16] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612560} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612560,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] 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\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] 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\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] 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\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] 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\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"447782589921@txt.staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:17] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:17] 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\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:17] 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.23,\"average_seconds_per_request\":0.23} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:17] 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\":\"4f01fa5e-5837-4b03-af04-ccad937f80f4\",\"trace_id\":\"7ea236cf-a366-4cea-8e77-3417ec22eac5\"}\n[2026-05-11 10:18:18] 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\":\"4f01fa5e-5837-4b03-af04-ccad937f80f4\",\"trace_id\":\"7ea236cf-a366-4cea-8e77-3417ec22eac5\"}\n[2026-05-11 10:18:18] 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\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612560,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612560} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612560,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] 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\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610462} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610462,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610462,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610462,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610462} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610462,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612819,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] 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\":null,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":261} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":299} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] 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\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] 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\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] 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\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] 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\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"adelina.petrova@jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:19] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:19] 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\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:19] 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.23,\"average_seconds_per_request\":0.23} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:19] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:process\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"add7477b-8e9d-44ef-9c16-cf763d7fd973\",\"trace_id\":\"0a4036d4-4c6b-4724-8efb-d8375a7dfe6a\"}\n[2026-05-11 10:18:19] local.INFO: [EmailSchedule] STARTING batch process {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"add7477b-8e9d-44ef-9c16-cf763d7fd973\",\"trace_id\":\"0a4036d4-4c6b-4724-8efb-d8375a7dfe6a\"}\n[2026-05-11 10:18:19] local.INFO: [EmailSchedule] FINISHED batch process {\"host\":\"docker_lamp_1\",\"processed\":0} {\"correlation_id\":\"add7477b-8e9d-44ef-9c16-cf763d7fd973\",\"trace_id\":\"0a4036d4-4c6b-4724-8efb-d8375a7dfe6a\"}\n[2026-05-11 10:18:19] 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\":\"add7477b-8e9d-44ef-9c16-cf763d7fd973\",\"trace_id\":\"0a4036d4-4c6b-4724-8efb-d8375a7dfe6a\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612819,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612847,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612847,\"participants\":[{\"id\":1000130,\"user_id\":null,\"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\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"adelina.petrova@jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612847,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610451} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610451,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610451,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610451} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612562} {\"correlation_id\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612562,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"correlation_id\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"447782589921@txt.staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612562,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612562} {\"correlation_id\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612562,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610764} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610764,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610764,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610764,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610764} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610764,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] 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\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"correlation_id\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614436,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"correlation_id\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610438} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610438,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610438,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610438,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610438} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610438,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] 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\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"correlation_id\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":615092,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"correlation_id\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.23,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:18:20] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610403} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610403,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610403,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610403,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610403} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610403,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610935} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610935,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610935,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610935} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610935,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610470} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610470,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610470,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610470,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610470} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610470,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610900} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610900,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610900,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610900} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610900,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":614378,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":6167,\"account_id\":null,\"opportunity_id\":null,\"stage_id\":null}} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":6167,\"lead_id\":null},{\"id\":1002625,\"user_id\":89,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nmalchev@gmail.com\"} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614378,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612561} {\"correlation_id\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612561,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\"} {\"correlation_id\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612561,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612561} {\"correlation_id\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612561,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612336,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612336} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612336,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":243,\"contact_id\":4491,\"owner_id\":206} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":243,\"contact_id\":4491} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":243,\"contact_id\":4491,\"opportunity_id\":276} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612336,\"participants_processed\":4,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612336} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612336,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611451} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611451,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611451} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:monitor:count\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"5cd332f8-5b05-4813-bf28-dc3f5c776c31\",\"trace_id\":\"9d576391-5ec6-47d4-9c55-77e4dc0e5881\"}\n[2026-05-11 10:18:21] local.INFO: Running conference:monitor:count command for activities in (2026-05-11 10:16:00, 2026-05-11 10:18:00] {\"correlation_id\":\"5cd332f8-5b05-4813-bf28-dc3f5c776c31\",\"trace_id\":\"9d576391-5ec6-47d4-9c55-77e4dc0e5881\"}\n[2026-05-11 10:18:21] local.INFO: [conference:monitor:count] No activities found in (2026-05-11 10:16:00, 2026-05-11 10:18:00] {\"correlation_id\":\"5cd332f8-5b05-4813-bf28-dc3f5c776c31\",\"trace_id\":\"9d576391-5ec6-47d4-9c55-77e4dc0e5881\"}\n[2026-05-11 10:18:21] 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\":\"5cd332f8-5b05-4813-bf28-dc3f5c776c31\",\"trace_id\":\"9d576391-5ec6-47d4-9c55-77e4dc0e5881\"}\n[2026-05-11 10:18:25] 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\":\"5d165f52-8b9b-49f4-826c-5e6effb36469\",\"trace_id\":\"8d23eb87-94aa-45be-a25c-60adf651f65b\"}\n[2026-05-11 10:18:26] 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\":\"5d165f52-8b9b-49f4-826c-5e6effb36469\",\"trace_id\":\"8d23eb87-94aa-45be-a25c-60adf651f65b\"}\n[2026-05-11 10:18:26] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.38,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:19:05] 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\":\"b818863b-2a43-41d9-8ff6-fee7c3d716bc\",\"trace_id\":\"247ba4af-b613-440c-94fe-1c5b9acb9a49\"}\n[2026-05-11 10:19:05] local.INFO: [ScheduleBotCommand] Number of activities to be captured: 0 {\"correlation_id\":\"b818863b-2a43-41d9-8ff6-fee7c3d716bc\",\"trace_id\":\"247ba4af-b613-440c-94fe-1c5b9acb9a49\"}\n[2026-05-11 10:19:05] 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\":\"b818863b-2a43-41d9-8ff6-fee7c3d716bc\",\"trace_id\":\"247ba4af-b613-440c-94fe-1c5b9acb9a49\"}\n[2026-05-11 10:19:07] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"dialers:monitor-activities\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"ebc86a92-142f-437d-993d-b5babcf2cc26\",\"trace_id\":\"afbbde14-96ad-42a5-a9b8-acbb3e1d637a\"}\n[2026-05-11 10:19:07] 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\":\"ebc86a92-142f-437d-993d-b5babcf2cc26\",\"trace_id\":\"afbbde14-96ad-42a5-a9b8-acbb3e1d637a\"}\n[2026-05-11 10:19:08] local.NOTICE: Monitoring start {\"correlation_id\":\"e77a8f39-a88c-4046-abe4-817093d395f4\",\"trace_id\":\"17ae50a2-26b7-48ab-a9a4-1188e484d567\"}\n[2026-05-11 10:19:08] local.NOTICE: Monitoring end {\"correlation_id\":\"e77a8f39-a88c-4046-abe4-817093d395f4\",\"trace_id\":\"17ae50a2-26b7-48ab-a9a4-1188e484d567\"}\n[2026-05-11 10:19: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\":\"82c9f998-b4ec-42a5-9114-b34b4ef4418e\",\"trace_id\":\"398aab71-a970-4adb-bfd2-e7003c988e9b\"}\n[2026-05-11 10:19: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\":\"82c9f998-b4ec-42a5-9114-b34b4ef4418e\",\"trace_id\":\"398aab71-a970-4adb-bfd2-e7003c988e9b\"}\n[2026-05-11 10:19:10] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:process\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"00ff8a16-df56-4dbe-89ee-949f1fec10ae\",\"trace_id\":\"48f7dab8-39b8-47ff-badc-9e61a319de61\"}\n[2026-05-11 10:19:10] local.INFO: [EmailSchedule] STARTING batch process {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"00ff8a16-df56-4dbe-89ee-949f1fec10ae\",\"trace_id\":\"48f7dab8-39b8-47ff-badc-9e61a319de61\"}\n[2026-05-11 10:19:10] local.INFO: [EmailSchedule] FINISHED batch process {\"host\":\"docker_lamp_1\",\"processed\":0} {\"correlation_id\":\"00ff8a16-df56-4dbe-89ee-949f1fec10ae\",\"trace_id\":\"48f7dab8-39b8-47ff-badc-9e61a319de61\"}\n[2026-05-11 10:19:10] 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\":\"00ff8a16-df56-4dbe-89ee-949f1fec10ae\",\"trace_id\":\"48f7dab8-39b8-47ff-badc-9e61a319de61\"}","depth":4,"on_screen":true,"value":"[2026-05-11 10:17:03] 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\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:03] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"correlation_id\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:03] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:03] 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\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:03] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:03] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:03] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:03] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:03] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:03] 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\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:03] 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\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.WARNING: [Hubspot] No retry-after header or policy name found, using default {\"exception_class\":\"SevenShores\\\\Hubspot\\\\Exceptions\\\\BadRequest\"} {\"correlation_id\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":10,\"policy\":null,\"reason\":\"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\\\":\\\"019e168a-5 (truncated...)\n\"} {\"correlation_id\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"f0becb3b-1f4f-4fb3-a311-9056fd2ae449\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"correlation_id\":\"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"78f847cf-6495-4054-b3d4-e179a133bd42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"correlation_id\":\"78f847cf-6495-4054-b3d4-e179a133bd42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"78f847cf-6495-4054-b3d4-e179a133bd42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"78f847cf-6495-4054-b3d4-e179a133bd42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"78f847cf-6495-4054-b3d4-e179a133bd42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"78f847cf-6495-4054-b3d4-e179a133bd42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"78f847cf-6495-4054-b3d4-e179a133bd42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"78f847cf-6495-4054-b3d4-e179a133bd42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"78f847cf-6495-4054-b3d4-e179a133bd42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"78f847cf-6495-4054-b3d4-e179a133bd42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"78f847cf-6495-4054-b3d4-e179a133bd42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"correlation_id\":\"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":614378,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":6167,\"account_id\":null,\"opportunity_id\":null,\"stage_id\":null}} {\"correlation_id\":\"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"correlation_id\":\"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":6167,\"lead_id\":null},{\"id\":1002625,\"user_id\":89,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613840,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613840} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613840,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":261} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":299} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613840,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613840} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613840,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"14d1f2d6-526c-4a7b-9dbe-f310d28baff2\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613833,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613833} {\"correlation_id\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613833,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613833,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613833} {\"correlation_id\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613833,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"f9846f48-5841-4a71-b500-64b802c67d05\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613827,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613827} {\"correlation_id\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613827,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613827,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613827} {\"correlation_id\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613827,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"d060f13a-e3b7-416c-ac24-ebc305d1fd66\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613826,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613826} {\"correlation_id\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613826,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613826,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613826} {\"correlation_id\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613826,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"b3cb7cc8-9e53-4962-af9d-a06a2bc1211f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613820,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613820} {\"correlation_id\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613820,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613820,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613820} {\"correlation_id\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613820,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"ee78448a-70af-4da3-a3cd-238e2067a49c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613818,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613818} {\"correlation_id\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613818,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] 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\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613818,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613818} {\"correlation_id\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613818,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"74704a29-86b2-4b3f-ae73-0e6d4ec1891a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613812,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613812} {\"correlation_id\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613812,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613812,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613812} {\"correlation_id\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613812,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"0698152e-ea7b-46d1-95e4-45730b1aac4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613807,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4484,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613807} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613807,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":4484,\"lead_id\":null}]} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":243,\"contact_id\":4484,\"owner_id\":253} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":243,\"contact_id\":4484} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":243,\"contact_id\":4484,\"opportunity_id\":276} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"tsvetomir.banovski@gmail.com\"} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613807,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613807} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613807,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"503e9564-ad58-44d0-9757-576b830ee22a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613806,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613806} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613806,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":253} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":244,\"contact_id\":4487} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":350} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613806,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613806} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613806,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"c7deb69c-6c07-4701-a67e-aac8a6e7eae5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613805,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613805} {\"correlation_id\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613805,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613805,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613805} {\"correlation_id\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613805,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"0d5af06d-774a-423e-8566-cb9f43e49711\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613698,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613698} {\"correlation_id\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613698,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613698,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613698} {\"correlation_id\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613698,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"80021afa-cf61-496e-89ce-8c3e54208849\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613697,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613697} {\"correlation_id\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613697,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613697,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613697} {\"correlation_id\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613697,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"26cb04a3-9455-48ca-bbec-d8afcaf66d89\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613696,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613696} {\"correlation_id\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613696,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613696,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613696} {\"correlation_id\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613696,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"1394ff3a-8967-4099-957d-78dd3bd1ad06\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613695,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613695} {\"correlation_id\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613695,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613695,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613695} {\"correlation_id\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613695,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"8e71d37f-8fcc-4294-a951-7e7e1fa36414\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613694,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613694} {\"correlation_id\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613694,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613694,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613694} {\"correlation_id\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613694,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"e3d5ac8c-21da-4854-8976-7e5916c19626\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613157,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613157} {\"correlation_id\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613157,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613157,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613157} {\"correlation_id\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613157,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"5ac0504a-ec31-4cd3-bee9-a22a17043d87\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613156,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613156} {\"correlation_id\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613156,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613156,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613156} {\"correlation_id\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613156,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"dc55bf51-23a4-467e-a0eb-e005ac332df8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613155,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613155} {\"correlation_id\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613155,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":4487,\"lead_id\":null}]} {\"correlation_id\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613155,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613155} {\"correlation_id\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613155,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"3eef285e-0d37-4ed8-b4ab-aa92cf893970\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":613130,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613130} {\"correlation_id\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613130,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":613130,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":613130} {\"correlation_id\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":613130,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"3c8a085d-bdf1-40eb-a97e-a240a0d42001\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":165,\"stage_id\":89}} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612924} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612924,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":69,\"contact_id\":97,\"owner_id\":19} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":69,\"contact_id\":97,\"opportunity_id\":165} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612924,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612924} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612924,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:05] 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\":\"d931b6c6-ab61-4e56-863b-aed2be3cf628\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":165,\"stage_id\":89}} {\"correlation_id\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612923} {\"correlation_id\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612923,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612923,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612923} {\"correlation_id\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612923,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"247ebe62-b545-410c-9a1a-a64a2a16f74f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":165,\"stage_id\":89}} {\"correlation_id\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612922} {\"correlation_id\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612922,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612922,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612922} {\"correlation_id\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612922,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"8eec93ee-21ff-4839-8d92-4c5e73e5cb02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612847,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"e1add09a-4136-4471-aaab-635ce3913944\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"correlation_id\":\"e1add09a-4136-4471-aaab-635ce3913944\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e1add09a-4136-4471-aaab-635ce3913944\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612847,\"participants\":[{\"id\":1000130,\"user_id\":null,\"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\":\"e1add09a-4136-4471-aaab-635ce3913944\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e1add09a-4136-4471-aaab-635ce3913944\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e1add09a-4136-4471-aaab-635ce3913944\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e1add09a-4136-4471-aaab-635ce3913944\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e1add09a-4136-4471-aaab-635ce3913944\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"e1add09a-4136-4471-aaab-635ce3913944\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"e1add09a-4136-4471-aaab-635ce3913944\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"e1add09a-4136-4471-aaab-635ce3913944\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"e1add09a-4136-4471-aaab-635ce3913944\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612822,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612822} {\"correlation_id\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612822,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612822,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612822} {\"correlation_id\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612822,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"0dc18256-a5c4-4809-8f4f-ae8acfa1c62a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612819,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"correlation_id\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":null,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"fc4dcdd9-0121-448e-8b4e-fc0e39d20a72\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612673,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612673} {\"correlation_id\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612673,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612673,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612673} {\"correlation_id\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612673,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"8b734f7b-ff76-4bcd-b217-f33580cc5d42\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612642,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612642} {\"correlation_id\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612642,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612642,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612642} {\"correlation_id\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612642,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"ba79ca47-b56d-4686-9d40-25f98db53e2d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612598} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612598,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":243,\"contact_id\":4491,\"owner_id\":206} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":243,\"contact_id\":4491} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":243,\"contact_id\":4491,\"opportunity_id\":276} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612598,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612598} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612598,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"eee09476-7cfd-47f1-9265-8d0f1f77edc7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612597} {\"correlation_id\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612597,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612597,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612597} {\"correlation_id\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612597,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"62c5275c-1274-41ee-bc3f-5bbf783b9e37\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612596} {\"correlation_id\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612596,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612596,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612596} {\"correlation_id\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612596,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:06] 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\":\"c07694f1-899f-4ac8-be40-e00a204aac88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612595} {\"correlation_id\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612595,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612595,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612595} {\"correlation_id\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612595,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"a42bd4c7-5a99-40a1-8f2d-310dc2de3d2e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612594} {\"correlation_id\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612594,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612594,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612594} {\"correlation_id\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612594,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"bb1f8c52-2f4c-4c3b-b77f-4f1a1bb3109d\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612593} {\"correlation_id\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612593,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612593,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612593} {\"correlation_id\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612593,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"4d5f5c05-bcfd-478f-aa51-3301a9db49f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612592} {\"correlation_id\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612592,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"4a8732a4-99b7-41d1-b7b2-eca5b5e48e29\",\"trace_id\":\"61c44eed-65c5-4e52-a175-3bee690af53c\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612592,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612592} {\"correlation_id\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612592,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"a80a8412-d94f-42a6-b884-72c206ac1da4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ScheduleBotCommand] Number of activities to be captured: 0 {\"correlation_id\":\"4a8732a4-99b7-41d1-b7b2-eca5b5e48e29\",\"trace_id\":\"61c44eed-65c5-4e52-a175-3bee690af53c\"}\n[2026-05-11 10:17:07] 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\":\"4a8732a4-99b7-41d1-b7b2-eca5b5e48e29\",\"trace_id\":\"61c44eed-65c5-4e52-a175-3bee690af53c\"}\n[2026-05-11 10:17:07] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612591} {\"correlation_id\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612591,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612591,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612591} {\"correlation_id\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612591,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"227671e6-a371-4f4c-b68e-79cfc8a40b80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612590} {\"correlation_id\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612590,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612590,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612590} {\"correlation_id\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612590,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"b0316038-52d2-4649-bbfd-3398e4ba616c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612589} {\"correlation_id\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612589,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612589,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612589} {\"correlation_id\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612589,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"8d0009ec-aa6b-43eb-b5e9-9fdebab1bc88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612588} {\"correlation_id\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612588,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612588,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612588} {\"correlation_id\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612588,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"3759f33f-9281-45e5-82c7-b8232490ee14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612587} {\"correlation_id\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612587,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612587,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612587} {\"correlation_id\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612587,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:07] 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\":\"e1fd0d0c-ddd7-483c-a454-704b27f83a35\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612586} {\"correlation_id\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612586,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612586,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612586} {\"correlation_id\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612586,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"65015bee-210a-4abd-ae8e-9b347db68ce5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612585} {\"correlation_id\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612585,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612585,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612585} {\"correlation_id\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612585,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"03c44248-e58c-4287-8e6d-5c619c6fb75f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612584} {\"correlation_id\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612584,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612584,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612584} {\"correlation_id\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612584,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"23ed7387-c743-4302-9b44-8d9813be4fe5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612583} {\"correlation_id\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612583,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612583,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612583} {\"correlation_id\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612583,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"aeabaf4b-f18e-43fd-aefc-396f54ca6ec9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612582} {\"correlation_id\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612582,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612582,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612582} {\"correlation_id\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612582,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"522ee9f2-8c92-480b-acda-f4759553f0b0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612581} {\"correlation_id\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612581,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612581,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612581} {\"correlation_id\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612581,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:08] 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\":\"8b4434a0-8bca-4ffb-9883-31415fdcd948\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] 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\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612565} {\"correlation_id\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612565,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] 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\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] 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\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612565,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612565} {\"correlation_id\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612565,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] 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\":\"ff0483e4-50c5-4943-9ac0-1521c68a84a6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] 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\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612563} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612563,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] 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\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] 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\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":206} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":244,\"contact_id\":4487} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":350} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612563,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612563} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612563,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:09] 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\":\"37c561fb-7972-4263-aac8-89d830ebc5c7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"b3bfac4d-fb8a-4113-a07a-e949910a9e3f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612562} {\"correlation_id\":\"b3bfac4d-fb8a-4113-a07a-e949910a9e3f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612562,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b3bfac4d-fb8a-4113-a07a-e949910a9e3f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] 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\":\"b3bfac4d-fb8a-4113-a07a-e949910a9e3f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b3bfac4d-fb8a-4113-a07a-e949910a9e3f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b3bfac4d-fb8a-4113-a07a-e949910a9e3f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b3bfac4d-fb8a-4113-a07a-e949910a9e3f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b3bfac4d-fb8a-4113-a07a-e949910a9e3f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"correlation_id\":\"b3bfac4d-fb8a-4113-a07a-e949910a9e3f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] 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\":\"b3bfac4d-fb8a-4113-a07a-e949910a9e3f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] 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\":\"b3bfac4d-fb8a-4113-a07a-e949910a9e3f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":10} {\"correlation_id\":\"b3bfac4d-fb8a-4113-a07a-e949910a9e3f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612561} {\"correlation_id\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612561,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] 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\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] 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\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:10] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\"} {\"correlation_id\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:11] 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\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:11] 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\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:11] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":13} {\"correlation_id\":\"093de884-5d00-46dd-8202-1f6294142ac4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:12] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"55d42510-0a7f-49da-92bb-3d7d04f519e0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:12] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612560} {\"correlation_id\":\"55d42510-0a7f-49da-92bb-3d7d04f519e0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:12] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612560,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"55d42510-0a7f-49da-92bb-3d7d04f519e0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:12] 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\":\"55d42510-0a7f-49da-92bb-3d7d04f519e0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:12] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"55d42510-0a7f-49da-92bb-3d7d04f519e0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:12] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"55d42510-0a7f-49da-92bb-3d7d04f519e0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:12] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"55d42510-0a7f-49da-92bb-3d7d04f519e0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:12] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"55d42510-0a7f-49da-92bb-3d7d04f519e0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:12] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"correlation_id\":\"55d42510-0a7f-49da-92bb-3d7d04f519e0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:12] 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\":\"55d42510-0a7f-49da-92bb-3d7d04f519e0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:12] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"55d42510-0a7f-49da-92bb-3d7d04f519e0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612559} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612559,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] 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\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] 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\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":69,\"contact_id\":97,\"owner_id\":206} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":69,\"contact_id\":97} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":69,\"contact_id\":97,\"opportunity_id\":5011} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612559,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612559} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612559,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:13] 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\":\"771b143d-9ff2-4447-952a-0f3e56249c53\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612558} {\"correlation_id\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612558,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] 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\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] 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\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612558,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612558} {\"correlation_id\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612558,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:14] 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\":\"87d35b30-46fd-4cbe-815e-3c7fc0873c55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:15] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:15] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612557} {\"correlation_id\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:15] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612557,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:15] 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\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:16] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:16] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:16] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:16] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:16] 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\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:16] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:16] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612557,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:16] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612557} {\"correlation_id\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:16] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612557,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:16] 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\":\"f4441c9e-1575-406a-9087-739d00f7051a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612556} {\"correlation_id\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612556,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] 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\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] 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\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612556,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612556} {\"correlation_id\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612556,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] 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\":\"0c63e1d6-a318-43c2-8cc4-a2e00c5260e3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:17] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:18] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612555} {\"correlation_id\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:18] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612555,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:18] 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\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:18] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:18] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:18] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:18] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:18] 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\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:18] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:18] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612555,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:18] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612555} {\"correlation_id\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:18] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612555,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] 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\":\"3268196e-0a93-4fd3-a61b-5dfcc3e560a8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":11.49,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:17:19] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612554} {\"correlation_id\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612554,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] 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\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] 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\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612554,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612554} {\"correlation_id\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612554,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] 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\":\"09a1bea2-5b92-4a89-8617-bc5809db48d1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612553} {\"correlation_id\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612553,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] 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\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:19] 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\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612553,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612553} {\"correlation_id\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612553,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] 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\":\"40b197d4-a099-4e5a-9b85-7d5e01a97d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612552} {\"correlation_id\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612552,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] 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\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] 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\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612552,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612552} {\"correlation_id\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612552,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] 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\":\"6548c611-b94a-40c9-8a0e-d3c24ba47072\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612551} {\"correlation_id\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612551,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] 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\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612551,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612551} {\"correlation_id\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612551,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":\"4cce51ee-846b-43b2-a0cd-d83dc5eff920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612550} {\"correlation_id\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612550,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612550,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612550} {\"correlation_id\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612550,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":\"b0e6efce-5447-4d7d-be32-a4dfafa64fdc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":69,\"opportunity_id\":5011,\"stage_id\":34}} {\"correlation_id\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612549} {\"correlation_id\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612549,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinsoncrusoe@test.com\"} {\"correlation_id\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612549,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612549} {\"correlation_id\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612549,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":\"e8c5b540-3796-4bed-b52c-3f7a6b7586aa\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612365,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612365} {\"correlation_id\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612365,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612365,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612365} {\"correlation_id\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612365,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:21] 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\":\"e5125373-9a81-49ac-ab11-5aebfe6aea74\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612360,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612360} {\"correlation_id\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612360,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] 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\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] 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\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] local.WARNING: [Hubspot] No retry-after header or policy name found, using default {\"exception_class\":\"SevenShores\\\\Hubspot\\\\Exceptions\\\\BadRequest\"} {\"correlation_id\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":10,\"policy\":null,\"reason\":\"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\\\":\\\"019e168a-9 (truncated...)\n\"} {\"correlation_id\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:22] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":12} {\"correlation_id\":\"611796ed-b766-420d-a544-4fdb1123b4f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612340,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"f69192c9-9ba8-48e0-b614-996bf3dcc7d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612340} {\"correlation_id\":\"f69192c9-9ba8-48e0-b614-996bf3dcc7d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612340,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f69192c9-9ba8-48e0-b614-996bf3dcc7d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] 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\":\"f69192c9-9ba8-48e0-b614-996bf3dcc7d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f69192c9-9ba8-48e0-b614-996bf3dcc7d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f69192c9-9ba8-48e0-b614-996bf3dcc7d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f69192c9-9ba8-48e0-b614-996bf3dcc7d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f69192c9-9ba8-48e0-b614-996bf3dcc7d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"f69192c9-9ba8-48e0-b614-996bf3dcc7d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] 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\":\"f69192c9-9ba8-48e0-b614-996bf3dcc7d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"f69192c9-9ba8-48e0-b614-996bf3dcc7d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612339,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"6522d428-c400-448c-9130-a06133b21471\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:23] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612339} {\"correlation_id\":\"6522d428-c400-448c-9130-a06133b21471\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612339,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"6522d428-c400-448c-9130-a06133b21471\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] 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\":\"6522d428-c400-448c-9130-a06133b21471\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6522d428-c400-448c-9130-a06133b21471\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6522d428-c400-448c-9130-a06133b21471\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"6522d428-c400-448c-9130-a06133b21471\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"6522d428-c400-448c-9130-a06133b21471\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"6522d428-c400-448c-9130-a06133b21471\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] 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\":\"6522d428-c400-448c-9130-a06133b21471\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"6522d428-c400-448c-9130-a06133b21471\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612336,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"0588c797-4ae0-4d7b-b3ee-9706e7ef39df\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612336} {\"correlation_id\":\"0588c797-4ae0-4d7b-b3ee-9706e7ef39df\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612336,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0588c797-4ae0-4d7b-b3ee-9706e7ef39df\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] 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\":\"0588c797-4ae0-4d7b-b3ee-9706e7ef39df\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0588c797-4ae0-4d7b-b3ee-9706e7ef39df\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0588c797-4ae0-4d7b-b3ee-9706e7ef39df\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0588c797-4ae0-4d7b-b3ee-9706e7ef39df\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0588c797-4ae0-4d7b-b3ee-9706e7ef39df\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"0588c797-4ae0-4d7b-b3ee-9706e7ef39df\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] 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\":\"0588c797-4ae0-4d7b-b3ee-9706e7ef39df\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"0588c797-4ae0-4d7b-b3ee-9706e7ef39df\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612183,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612183} {\"correlation_id\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612183,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] 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\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] 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\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612183,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612183} {\"correlation_id\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:24] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612183,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] 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\":\"946c4e96-6983-445b-a842-b212439024fd\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612182,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612182} {\"correlation_id\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612182,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] 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\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] 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\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612182,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612182} {\"correlation_id\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612182,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] 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\":\"f5eaabe1-ed2b-4779-8907-9a7cb181c90e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"dialers:monitor-activities\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"86d5bdfe-cc94-41f2-94ba-422242e4e1f5\",\"trace_id\":\"659a90d1-e357-4e8c-a391-979e687c5ae4\"}\n[2026-05-11 10:17:25] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":1.26,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:17:25] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612181,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612181} {\"correlation_id\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612181,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] 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\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] 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\":\"86d5bdfe-cc94-41f2-94ba-422242e4e1f5\",\"trace_id\":\"659a90d1-e357-4e8c-a391-979e687c5ae4\"}\n[2026-05-11 10:17:25] 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\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612181,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612181} {\"correlation_id\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612181,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] 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\":\"d2216c54-0324-4668-a561-66c972bd24b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612180,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612180} {\"correlation_id\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612180,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] 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\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] 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\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612180,\"participants_processed\":2,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612180} {\"correlation_id\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612180,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] 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\":\"f8c127c2-60ef-47b1-b0e2-5adb2b6d7349\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"0869934c-f4d0-46a1-8387-f2393c5bce93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611455} {\"correlation_id\":\"0869934c-f4d0-46a1-8387-f2393c5bce93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611455,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0869934c-f4d0-46a1-8387-f2393c5bce93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:25] 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\":\"0869934c-f4d0-46a1-8387-f2393c5bce93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0869934c-f4d0-46a1-8387-f2393c5bce93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0869934c-f4d0-46a1-8387-f2393c5bce93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0869934c-f4d0-46a1-8387-f2393c5bce93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0869934c-f4d0-46a1-8387-f2393c5bce93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"0869934c-f4d0-46a1-8387-f2393c5bce93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] 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\":\"0869934c-f4d0-46a1-8387-f2393c5bce93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] 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\":\"0869934c-f4d0-46a1-8387-f2393c5bce93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"0869934c-f4d0-46a1-8387-f2393c5bce93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"4e3d1181-634e-4ea2-8ac6-7da2a722c455\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611451} {\"correlation_id\":\"4e3d1181-634e-4ea2-8ac6-7da2a722c455\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4e3d1181-634e-4ea2-8ac6-7da2a722c455\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] 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\":\"4e3d1181-634e-4ea2-8ac6-7da2a722c455\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4e3d1181-634e-4ea2-8ac6-7da2a722c455\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4e3d1181-634e-4ea2-8ac6-7da2a722c455\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4e3d1181-634e-4ea2-8ac6-7da2a722c455\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4e3d1181-634e-4ea2-8ac6-7da2a722c455\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"4e3d1181-634e-4ea2-8ac6-7da2a722c455\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] 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\":\"4e3d1181-634e-4ea2-8ac6-7da2a722c455\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] 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\":\"4e3d1181-634e-4ea2-8ac6-7da2a722c455\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:26] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"4e3d1181-634e-4ea2-8ac6-7da2a722c455\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"bd88fcdb-25fc-4e20-bec3-36897d7c6d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611087} {\"correlation_id\":\"bd88fcdb-25fc-4e20-bec3-36897d7c6d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611087,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bd88fcdb-25fc-4e20-bec3-36897d7c6d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] 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\":\"bd88fcdb-25fc-4e20-bec3-36897d7c6d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bd88fcdb-25fc-4e20-bec3-36897d7c6d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bd88fcdb-25fc-4e20-bec3-36897d7c6d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"bd88fcdb-25fc-4e20-bec3-36897d7c6d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"bd88fcdb-25fc-4e20-bec3-36897d7c6d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"bd88fcdb-25fc-4e20-bec3-36897d7c6d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"bd88fcdb-25fc-4e20-bec3-36897d7c6d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":10} {\"correlation_id\":\"bd88fcdb-25fc-4e20-bec3-36897d7c6d4e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"c1d5bb08-3fac-4938-926a-3e672915d6c3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611076} {\"correlation_id\":\"c1d5bb08-3fac-4938-926a-3e672915d6c3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611076,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c1d5bb08-3fac-4938-926a-3e672915d6c3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] 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\":\"c1d5bb08-3fac-4938-926a-3e672915d6c3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c1d5bb08-3fac-4938-926a-3e672915d6c3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c1d5bb08-3fac-4938-926a-3e672915d6c3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"c1d5bb08-3fac-4938-926a-3e672915d6c3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"c1d5bb08-3fac-4938-926a-3e672915d6c3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"c1d5bb08-3fac-4938-926a-3e672915d6c3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"c1d5bb08-3fac-4938-926a-3e672915d6c3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":10} {\"correlation_id\":\"c1d5bb08-3fac-4938-926a-3e672915d6c3\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"c1161db6-2192-487f-94d9-fb763ee00ea9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610935} {\"correlation_id\":\"c1161db6-2192-487f-94d9-fb763ee00ea9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610935,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c1161db6-2192-487f-94d9-fb763ee00ea9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] 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\":\"c1161db6-2192-487f-94d9-fb763ee00ea9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c1161db6-2192-487f-94d9-fb763ee00ea9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c1161db6-2192-487f-94d9-fb763ee00ea9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"c1161db6-2192-487f-94d9-fb763ee00ea9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"c1161db6-2192-487f-94d9-fb763ee00ea9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"c1161db6-2192-487f-94d9-fb763ee00ea9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"c1161db6-2192-487f-94d9-fb763ee00ea9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"c1161db6-2192-487f-94d9-fb763ee00ea9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"bd974d1f-98c3-43ec-a0ee-c373b13e5a55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610915} {\"correlation_id\":\"bd974d1f-98c3-43ec-a0ee-c373b13e5a55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:27] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610915,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"bd974d1f-98c3-43ec-a0ee-c373b13e5a55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] 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\":\"bd974d1f-98c3-43ec-a0ee-c373b13e5a55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bd974d1f-98c3-43ec-a0ee-c373b13e5a55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"bd974d1f-98c3-43ec-a0ee-c373b13e5a55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"bd974d1f-98c3-43ec-a0ee-c373b13e5a55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"bd974d1f-98c3-43ec-a0ee-c373b13e5a55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"bd974d1f-98c3-43ec-a0ee-c373b13e5a55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"bd974d1f-98c3-43ec-a0ee-c373b13e5a55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":13} {\"correlation_id\":\"bd974d1f-98c3-43ec-a0ee-c373b13e5a55\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"6b6b45e9-7387-4b73-a6c1-1302a6e959cc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610900} {\"correlation_id\":\"6b6b45e9-7387-4b73-a6c1-1302a6e959cc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610900,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"6b6b45e9-7387-4b73-a6c1-1302a6e959cc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] 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\":\"6b6b45e9-7387-4b73-a6c1-1302a6e959cc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6b6b45e9-7387-4b73-a6c1-1302a6e959cc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6b6b45e9-7387-4b73-a6c1-1302a6e959cc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"6b6b45e9-7387-4b73-a6c1-1302a6e959cc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"6b6b45e9-7387-4b73-a6c1-1302a6e959cc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"6b6b45e9-7387-4b73-a6c1-1302a6e959cc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"6b6b45e9-7387-4b73-a6c1-1302a6e959cc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:28] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":10} {\"correlation_id\":\"6b6b45e9-7387-4b73-a6c1-1302a6e959cc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"3d3fbb4c-6268-4e40-bf22-931be4baeb1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610885} {\"correlation_id\":\"3d3fbb4c-6268-4e40-bf22-931be4baeb1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610885,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"3d3fbb4c-6268-4e40-bf22-931be4baeb1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] 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\":\"3d3fbb4c-6268-4e40-bf22-931be4baeb1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3d3fbb4c-6268-4e40-bf22-931be4baeb1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"3d3fbb4c-6268-4e40-bf22-931be4baeb1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"3d3fbb4c-6268-4e40-bf22-931be4baeb1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"3d3fbb4c-6268-4e40-bf22-931be4baeb1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"3d3fbb4c-6268-4e40-bf22-931be4baeb1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"3d3fbb4c-6268-4e40-bf22-931be4baeb1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"3d3fbb4c-6268-4e40-bf22-931be4baeb1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"75bdd542-1e62-4704-861a-810a631074bf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610878} {\"correlation_id\":\"75bdd542-1e62-4704-861a-810a631074bf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610878,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"75bdd542-1e62-4704-861a-810a631074bf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] 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\":\"75bdd542-1e62-4704-861a-810a631074bf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"75bdd542-1e62-4704-861a-810a631074bf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"75bdd542-1e62-4704-861a-810a631074bf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"75bdd542-1e62-4704-861a-810a631074bf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"75bdd542-1e62-4704-861a-810a631074bf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"75bdd542-1e62-4704-861a-810a631074bf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"75bdd542-1e62-4704-861a-810a631074bf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"75bdd542-1e62-4704-861a-810a631074bf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"923e5701-fa97-4252-a235-5cfe1a50c951\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610874} {\"correlation_id\":\"923e5701-fa97-4252-a235-5cfe1a50c951\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610874,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"923e5701-fa97-4252-a235-5cfe1a50c951\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] 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\":\"923e5701-fa97-4252-a235-5cfe1a50c951\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"923e5701-fa97-4252-a235-5cfe1a50c951\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"923e5701-fa97-4252-a235-5cfe1a50c951\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"923e5701-fa97-4252-a235-5cfe1a50c951\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"923e5701-fa97-4252-a235-5cfe1a50c951\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"923e5701-fa97-4252-a235-5cfe1a50c951\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"923e5701-fa97-4252-a235-5cfe1a50c951\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:29] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"923e5701-fa97-4252-a235-5cfe1a50c951\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:30] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"afecdc02-a4b8-431a-baee-e5f104160539\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:30] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610867} {\"correlation_id\":\"afecdc02-a4b8-431a-baee-e5f104160539\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:30] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610867,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"afecdc02-a4b8-431a-baee-e5f104160539\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:30] 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\":\"afecdc02-a4b8-431a-baee-e5f104160539\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:30] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"afecdc02-a4b8-431a-baee-e5f104160539\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:30] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"afecdc02-a4b8-431a-baee-e5f104160539\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:30] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"afecdc02-a4b8-431a-baee-e5f104160539\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:30] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"afecdc02-a4b8-431a-baee-e5f104160539\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"afecdc02-a4b8-431a-baee-e5f104160539\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"afecdc02-a4b8-431a-baee-e5f104160539\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"afecdc02-a4b8-431a-baee-e5f104160539\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"30a67f60-f844-4758-bc2c-79a6b1ec958a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610764} {\"correlation_id\":\"30a67f60-f844-4758-bc2c-79a6b1ec958a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610764,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"30a67f60-f844-4758-bc2c-79a6b1ec958a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] 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\":\"30a67f60-f844-4758-bc2c-79a6b1ec958a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"30a67f60-f844-4758-bc2c-79a6b1ec958a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"30a67f60-f844-4758-bc2c-79a6b1ec958a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"30a67f60-f844-4758-bc2c-79a6b1ec958a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"30a67f60-f844-4758-bc2c-79a6b1ec958a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"30a67f60-f844-4758-bc2c-79a6b1ec958a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"30a67f60-f844-4758-bc2c-79a6b1ec958a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":10} {\"correlation_id\":\"30a67f60-f844-4758-bc2c-79a6b1ec958a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"2989f086-0b73-4b12-b24c-8665376dcf18\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610617} {\"correlation_id\":\"2989f086-0b73-4b12-b24c-8665376dcf18\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610617,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2989f086-0b73-4b12-b24c-8665376dcf18\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] 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\":\"2989f086-0b73-4b12-b24c-8665376dcf18\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2989f086-0b73-4b12-b24c-8665376dcf18\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2989f086-0b73-4b12-b24c-8665376dcf18\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2989f086-0b73-4b12-b24c-8665376dcf18\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2989f086-0b73-4b12-b24c-8665376dcf18\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2989f086-0b73-4b12-b24c-8665376dcf18\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2989f086-0b73-4b12-b24c-8665376dcf18\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"2989f086-0b73-4b12-b24c-8665376dcf18\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.9,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:17:31] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"0c19e519-0adf-4903-a45d-44559f23151f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610539} {\"correlation_id\":\"0c19e519-0adf-4903-a45d-44559f23151f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610539,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"0c19e519-0adf-4903-a45d-44559f23151f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] 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\":\"0c19e519-0adf-4903-a45d-44559f23151f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0c19e519-0adf-4903-a45d-44559f23151f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"0c19e519-0adf-4903-a45d-44559f23151f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"0c19e519-0adf-4903-a45d-44559f23151f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"0c19e519-0adf-4903-a45d-44559f23151f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"0c19e519-0adf-4903-a45d-44559f23151f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"0c19e519-0adf-4903-a45d-44559f23151f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:31] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":10} {\"correlation_id\":\"0c19e519-0adf-4903-a45d-44559f23151f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"fc1002b7-ac5b-4080-b6fa-497070177a88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610528} {\"correlation_id\":\"fc1002b7-ac5b-4080-b6fa-497070177a88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610528,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"fc1002b7-ac5b-4080-b6fa-497070177a88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] 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\":\"fc1002b7-ac5b-4080-b6fa-497070177a88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"fc1002b7-ac5b-4080-b6fa-497070177a88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"fc1002b7-ac5b-4080-b6fa-497070177a88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"fc1002b7-ac5b-4080-b6fa-497070177a88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"fc1002b7-ac5b-4080-b6fa-497070177a88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"fc1002b7-ac5b-4080-b6fa-497070177a88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"fc1002b7-ac5b-4080-b6fa-497070177a88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"fc1002b7-ac5b-4080-b6fa-497070177a88\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"738402b4-5306-4346-9286-7b1fb94db69f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610506} {\"correlation_id\":\"738402b4-5306-4346-9286-7b1fb94db69f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610506,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"738402b4-5306-4346-9286-7b1fb94db69f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] 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\":\"738402b4-5306-4346-9286-7b1fb94db69f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"738402b4-5306-4346-9286-7b1fb94db69f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"738402b4-5306-4346-9286-7b1fb94db69f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"738402b4-5306-4346-9286-7b1fb94db69f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"738402b4-5306-4346-9286-7b1fb94db69f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"738402b4-5306-4346-9286-7b1fb94db69f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"738402b4-5306-4346-9286-7b1fb94db69f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":13} {\"correlation_id\":\"738402b4-5306-4346-9286-7b1fb94db69f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610497} {\"correlation_id\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610497,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] 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\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:32] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.WARNING: [Hubspot] No retry-after header or policy name found, using default {\"exception_class\":\"SevenShores\\\\Hubspot\\\\Exceptions\\\\BadRequest\"} {\"correlation_id\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":10,\"policy\":null,\"reason\":\"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\\\":\\\"019e168a-c (truncated...)\n\"} {\"correlation_id\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":12} {\"correlation_id\":\"2356bf77-077c-400e-ac58-cebd0719ff80\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"2e2173eb-7d9e-43e9-b8e2-2c6bb1d4c684\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610490} {\"correlation_id\":\"2e2173eb-7d9e-43e9-b8e2-2c6bb1d4c684\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610490,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2e2173eb-7d9e-43e9-b8e2-2c6bb1d4c684\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] 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\":\"2e2173eb-7d9e-43e9-b8e2-2c6bb1d4c684\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2e2173eb-7d9e-43e9-b8e2-2c6bb1d4c684\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2e2173eb-7d9e-43e9-b8e2-2c6bb1d4c684\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2e2173eb-7d9e-43e9-b8e2-2c6bb1d4c684\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2e2173eb-7d9e-43e9-b8e2-2c6bb1d4c684\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2e2173eb-7d9e-43e9-b8e2-2c6bb1d4c684\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2e2173eb-7d9e-43e9-b8e2-2c6bb1d4c684\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":10} {\"correlation_id\":\"2e2173eb-7d9e-43e9-b8e2-2c6bb1d4c684\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"63a0af1c-277e-446c-9a48-9757a8d34ddc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610470} {\"correlation_id\":\"63a0af1c-277e-446c-9a48-9757a8d34ddc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610470,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"63a0af1c-277e-446c-9a48-9757a8d34ddc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] 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\":\"63a0af1c-277e-446c-9a48-9757a8d34ddc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"63a0af1c-277e-446c-9a48-9757a8d34ddc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"63a0af1c-277e-446c-9a48-9757a8d34ddc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"63a0af1c-277e-446c-9a48-9757a8d34ddc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"63a0af1c-277e-446c-9a48-9757a8d34ddc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"63a0af1c-277e-446c-9a48-9757a8d34ddc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"63a0af1c-277e-446c-9a48-9757a8d34ddc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"63a0af1c-277e-446c-9a48-9757a8d34ddc\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"b324376c-1fd3-497f-b0fb-004f86f50635\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610462} {\"correlation_id\":\"b324376c-1fd3-497f-b0fb-004f86f50635\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610462,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b324376c-1fd3-497f-b0fb-004f86f50635\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] 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\":\"b324376c-1fd3-497f-b0fb-004f86f50635\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b324376c-1fd3-497f-b0fb-004f86f50635\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b324376c-1fd3-497f-b0fb-004f86f50635\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b324376c-1fd3-497f-b0fb-004f86f50635\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b324376c-1fd3-497f-b0fb-004f86f50635\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"b324376c-1fd3-497f-b0fb-004f86f50635\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"b324376c-1fd3-497f-b0fb-004f86f50635\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"b324376c-1fd3-497f-b0fb-004f86f50635\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"b2b3cc5b-60ce-4c18-bb68-76d30013357c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610451} {\"correlation_id\":\"b2b3cc5b-60ce-4c18-bb68-76d30013357c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b2b3cc5b-60ce-4c18-bb68-76d30013357c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] 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\":\"b2b3cc5b-60ce-4c18-bb68-76d30013357c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b2b3cc5b-60ce-4c18-bb68-76d30013357c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b2b3cc5b-60ce-4c18-bb68-76d30013357c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b2b3cc5b-60ce-4c18-bb68-76d30013357c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b2b3cc5b-60ce-4c18-bb68-76d30013357c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"b2b3cc5b-60ce-4c18-bb68-76d30013357c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"b2b3cc5b-60ce-4c18-bb68-76d30013357c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"b2b3cc5b-60ce-4c18-bb68-76d30013357c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"d6026499-3681-474a-85f7-3faee13605b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610438} {\"correlation_id\":\"d6026499-3681-474a-85f7-3faee13605b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610438,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d6026499-3681-474a-85f7-3faee13605b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] 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\":\"d6026499-3681-474a-85f7-3faee13605b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d6026499-3681-474a-85f7-3faee13605b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d6026499-3681-474a-85f7-3faee13605b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d6026499-3681-474a-85f7-3faee13605b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d6026499-3681-474a-85f7-3faee13605b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"d6026499-3681-474a-85f7-3faee13605b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"d6026499-3681-474a-85f7-3faee13605b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:33] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":13} {\"correlation_id\":\"d6026499-3681-474a-85f7-3faee13605b8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"17b3d9a6-2eb0-49d1-8a00-c67c644885e1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610426} {\"correlation_id\":\"17b3d9a6-2eb0-49d1-8a00-c67c644885e1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610426,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"17b3d9a6-2eb0-49d1-8a00-c67c644885e1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] 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\":\"17b3d9a6-2eb0-49d1-8a00-c67c644885e1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"17b3d9a6-2eb0-49d1-8a00-c67c644885e1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"17b3d9a6-2eb0-49d1-8a00-c67c644885e1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"17b3d9a6-2eb0-49d1-8a00-c67c644885e1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"17b3d9a6-2eb0-49d1-8a00-c67c644885e1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"17b3d9a6-2eb0-49d1-8a00-c67c644885e1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"17b3d9a6-2eb0-49d1-8a00-c67c644885e1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"17b3d9a6-2eb0-49d1-8a00-c67c644885e1\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"112a2c70-a5f2-4500-9726-7f560d683236\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610403} {\"correlation_id\":\"112a2c70-a5f2-4500-9726-7f560d683236\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610403,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"112a2c70-a5f2-4500-9726-7f560d683236\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] 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\":\"112a2c70-a5f2-4500-9726-7f560d683236\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"112a2c70-a5f2-4500-9726-7f560d683236\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"112a2c70-a5f2-4500-9726-7f560d683236\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"112a2c70-a5f2-4500-9726-7f560d683236\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"112a2c70-a5f2-4500-9726-7f560d683236\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"112a2c70-a5f2-4500-9726-7f560d683236\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"112a2c70-a5f2-4500-9726-7f560d683236\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":1,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"112a2c70-a5f2-4500-9726-7f560d683236\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] 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\":244,\"opportunity_id\":350,\"stage_id\":34}} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610400} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610400,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] 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\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] 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\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] 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\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":1460} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":244,\"contact_id\":4487} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":350} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610400,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610400} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610400,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] 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\":\"8cbe2d45-c42f-42bb-85b7-0d645c9e64b6\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:34] 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}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6868b438-d843-4331-9862-f802e4cc4ff2\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6868b438-d843-4331-9862-f802e4cc4ff2\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6868b438-d843-4331-9862-f802e4cc4ff2\"}\n[2026-05-11 10:17:34] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6868b438-d843-4331-9862-f802e4cc4ff2\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6868b438-d843-4331-9862-f802e4cc4ff2\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6868b438-d843-4331-9862-f802e4cc4ff2\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6868b438-d843-4331-9862-f802e4cc4ff2\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6868b438-d843-4331-9862-f802e4cc4ff2\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6868b438-d843-4331-9862-f802e4cc4ff2\"}\n[2026-05-11 10:17:34] 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\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6868b438-d843-4331-9862-f802e4cc4ff2\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6868b438-d843-4331-9862-f802e4cc4ff2\"}\n[2026-05-11 10:17:34] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":10} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6868b438-d843-4331-9862-f802e4cc4ff2\"}\n[2026-05-11 10:17:34] 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}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f600c314-da4f-48ea-885b-f3b0db553881\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f600c314-da4f-48ea-885b-f3b0db553881\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f600c314-da4f-48ea-885b-f3b0db553881\"}\n[2026-05-11 10:17:34] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f600c314-da4f-48ea-885b-f3b0db553881\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f600c314-da4f-48ea-885b-f3b0db553881\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f600c314-da4f-48ea-885b-f3b0db553881\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f600c314-da4f-48ea-885b-f3b0db553881\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f600c314-da4f-48ea-885b-f3b0db553881\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f600c314-da4f-48ea-885b-f3b0db553881\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f600c314-da4f-48ea-885b-f3b0db553881\"}\n[2026-05-11 10:17:34] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":10} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f600c314-da4f-48ea-885b-f3b0db553881\"}\n[2026-05-11 10:17:34] local.NOTICE: Monitoring start {\"correlation_id\":\"2a3353ba-9883-42be-b596-9e38bd5fc160\",\"trace_id\":\"fc84fbbd-f6ab-40f6-8fdc-f023fbe3b46e\"}\n[2026-05-11 10:17:34] local.NOTICE: Monitoring end {\"correlation_id\":\"2a3353ba-9883-42be-b596-9e38bd5fc160\",\"trace_id\":\"fc84fbbd-f6ab-40f6-8fdc-f023fbe3b46e\"}\n[2026-05-11 10:17:34] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612819,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] 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\":null,\"contact_id\":null,\"lead_id\":null}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612819,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":11} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ac88094e-4a12-4e5c-87dd-c7701d7a8719\"}\n[2026-05-11 10:17:34] 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}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"5b7869a5-e05c-417f-819f-12774e20bb56\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"5b7869a5-e05c-417f-819f-12774e20bb56\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"5b7869a5-e05c-417f-819f-12774e20bb56\"}\n[2026-05-11 10:17:34] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"5b7869a5-e05c-417f-819f-12774e20bb56\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"5b7869a5-e05c-417f-819f-12774e20bb56\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"5b7869a5-e05c-417f-819f-12774e20bb56\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"5b7869a5-e05c-417f-819f-12774e20bb56\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"5b7869a5-e05c-417f-819f-12774e20bb56\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"5b7869a5-e05c-417f-819f-12774e20bb56\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"5b7869a5-e05c-417f-819f-12774e20bb56\"}\n[2026-05-11 10:17:34] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":14} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"5b7869a5-e05c-417f-819f-12774e20bb56\"}\n[2026-05-11 10:17:34] 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}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72bb1bed-9270-436f-977c-a73c970415a3\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72bb1bed-9270-436f-977c-a73c970415a3\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72bb1bed-9270-436f-977c-a73c970415a3\"}\n[2026-05-11 10:17:34] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72bb1bed-9270-436f-977c-a73c970415a3\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72bb1bed-9270-436f-977c-a73c970415a3\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72bb1bed-9270-436f-977c-a73c970415a3\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72bb1bed-9270-436f-977c-a73c970415a3\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72bb1bed-9270-436f-977c-a73c970415a3\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72bb1bed-9270-436f-977c-a73c970415a3\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72bb1bed-9270-436f-977c-a73c970415a3\"}\n[2026-05-11 10:17:34] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":13} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72bb1bed-9270-436f-977c-a73c970415a3\"}\n[2026-05-11 10:17:34] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":614378,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":6167,\"account_id\":null,\"opportunity_id\":null,\"stage_id\":null}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ef02c9ff-d0fc-47cb-aeb0-e8ba837de699\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ef02c9ff-d0fc-47cb-aeb0-e8ba837de699\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ef02c9ff-d0fc-47cb-aeb0-e8ba837de699\"}\n[2026-05-11 10:17:34] 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\":6167,\"lead_id\":null},{\"id\":1002625,\"user_id\":89,\"contact_id\":null,\"lead_id\":null}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ef02c9ff-d0fc-47cb-aeb0-e8ba837de699\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ef02c9ff-d0fc-47cb-aeb0-e8ba837de699\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ef02c9ff-d0fc-47cb-aeb0-e8ba837de699\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ef02c9ff-d0fc-47cb-aeb0-e8ba837de699\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ef02c9ff-d0fc-47cb-aeb0-e8ba837de699\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ef02c9ff-d0fc-47cb-aeb0-e8ba837de699\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ef02c9ff-d0fc-47cb-aeb0-e8ba837de699\"}\n[2026-05-11 10:17:34] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":12} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ef02c9ff-d0fc-47cb-aeb0-e8ba837de699\"}\n[2026-05-11 10:17:34] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612847,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e1608ca2-4101-4e24-8c9f-29ba81ce925f\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e1608ca2-4101-4e24-8c9f-29ba81ce925f\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e1608ca2-4101-4e24-8c9f-29ba81ce925f\"}\n[2026-05-11 10:17:34] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612847,\"participants\":[{\"id\":1000130,\"user_id\":null,\"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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e1608ca2-4101-4e24-8c9f-29ba81ce925f\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e1608ca2-4101-4e24-8c9f-29ba81ce925f\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e1608ca2-4101-4e24-8c9f-29ba81ce925f\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e1608ca2-4101-4e24-8c9f-29ba81ce925f\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e1608ca2-4101-4e24-8c9f-29ba81ce925f\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e1608ca2-4101-4e24-8c9f-29ba81ce925f\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e1608ca2-4101-4e24-8c9f-29ba81ce925f\"}\n[2026-05-11 10:17:34] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":11} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e1608ca2-4101-4e24-8c9f-29ba81ce925f\"}\n[2026-05-11 10:17:34] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"40f1c570-c73a-4bea-99d1-0b405485c1eb\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612562} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"40f1c570-c73a-4bea-99d1-0b405485c1eb\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612562,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"40f1c570-c73a-4bea-99d1-0b405485c1eb\"}\n[2026-05-11 10:17:34] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"40f1c570-c73a-4bea-99d1-0b405485c1eb\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"40f1c570-c73a-4bea-99d1-0b405485c1eb\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"40f1c570-c73a-4bea-99d1-0b405485c1eb\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"40f1c570-c73a-4bea-99d1-0b405485c1eb\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"40f1c570-c73a-4bea-99d1-0b405485c1eb\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"40f1c570-c73a-4bea-99d1-0b405485c1eb\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"40f1c570-c73a-4bea-99d1-0b405485c1eb\"}\n[2026-05-11 10:17:34] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":14} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"40f1c570-c73a-4bea-99d1-0b405485c1eb\"}\n[2026-05-11 10:17:34] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6f43c701-78e8-4a90-bc73-feecc83e035c\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612560} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6f43c701-78e8-4a90-bc73-feecc83e035c\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612560,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6f43c701-78e8-4a90-bc73-feecc83e035c\"}\n[2026-05-11 10:17:34] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6f43c701-78e8-4a90-bc73-feecc83e035c\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6f43c701-78e8-4a90-bc73-feecc83e035c\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6f43c701-78e8-4a90-bc73-feecc83e035c\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6f43c701-78e8-4a90-bc73-feecc83e035c\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6f43c701-78e8-4a90-bc73-feecc83e035c\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6f43c701-78e8-4a90-bc73-feecc83e035c\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6f43c701-78e8-4a90-bc73-feecc83e035c\"}\n[2026-05-11 10:17:34] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":10} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6f43c701-78e8-4a90-bc73-feecc83e035c\"}\n[2026-05-11 10:17:34] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"714584dc-ec4b-479a-aecd-db6c109f4a6d\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612561} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"714584dc-ec4b-479a-aecd-db6c109f4a6d\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612561,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"714584dc-ec4b-479a-aecd-db6c109f4a6d\"}\n[2026-05-11 10:17:34] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"714584dc-ec4b-479a-aecd-db6c109f4a6d\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"714584dc-ec4b-479a-aecd-db6c109f4a6d\"}\n[2026-05-11 10:17:34] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"714584dc-ec4b-479a-aecd-db6c109f4a6d\"}\n[2026-05-11 10:17:34] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"714584dc-ec4b-479a-aecd-db6c109f4a6d\"}\n[2026-05-11 10:17:34] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"714584dc-ec4b-479a-aecd-db6c109f4a6d\"}\n[2026-05-11 10:17:34] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612561,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"714584dc-ec4b-479a-aecd-db6c109f4a6d\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"714584dc-ec4b-479a-aecd-db6c109f4a6d\"}\n[2026-05-11 10:17:34] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"714584dc-ec4b-479a-aecd-db6c109f4a6d\"}\n[2026-05-11 10:17:34] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":12} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"714584dc-ec4b-479a-aecd-db6c109f4a6d\"}\n[2026-05-11 10:17:34] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612340,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f7f53665-81f1-4b01-86eb-56ad96f088db\"}\n[2026-05-11 10:17:34] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612340} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f7f53665-81f1-4b01-86eb-56ad96f088db\"}\n[2026-05-11 10:17:34] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612340,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f7f53665-81f1-4b01-86eb-56ad96f088db\"}\n[2026-05-11 10:17:34] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f7f53665-81f1-4b01-86eb-56ad96f088db\"}\n[2026-05-11 10:17:35] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f7f53665-81f1-4b01-86eb-56ad96f088db\"}\n[2026-05-11 10:17:35] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f7f53665-81f1-4b01-86eb-56ad96f088db\"}\n[2026-05-11 10:17:35] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f7f53665-81f1-4b01-86eb-56ad96f088db\"}\n[2026-05-11 10:17:35] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f7f53665-81f1-4b01-86eb-56ad96f088db\"}\n[2026-05-11 10:17:35] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f7f53665-81f1-4b01-86eb-56ad96f088db\"}\n[2026-05-11 10:17:35] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612340,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f7f53665-81f1-4b01-86eb-56ad96f088db\"}\n[2026-05-11 10:17:35] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":14} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f7f53665-81f1-4b01-86eb-56ad96f088db\"}\n[2026-05-11 10:17:35] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612360,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7356be9b-68c6-4c39-9fbe-d16bafce4614\"}\n[2026-05-11 10:17:35] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612360} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7356be9b-68c6-4c39-9fbe-d16bafce4614\"}\n[2026-05-11 10:17:35] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612360,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7356be9b-68c6-4c39-9fbe-d16bafce4614\"}\n[2026-05-11 10:17:35] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7356be9b-68c6-4c39-9fbe-d16bafce4614\"}\n[2026-05-11 10:17:35] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7356be9b-68c6-4c39-9fbe-d16bafce4614\"}\n[2026-05-11 10:17:35] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7356be9b-68c6-4c39-9fbe-d16bafce4614\"}\n[2026-05-11 10:17:35] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7356be9b-68c6-4c39-9fbe-d16bafce4614\"}\n[2026-05-11 10:17:35] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7356be9b-68c6-4c39-9fbe-d16bafce4614\"}\n[2026-05-11 10:17:35] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7356be9b-68c6-4c39-9fbe-d16bafce4614\"}\n[2026-05-11 10:17:35] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612360,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7356be9b-68c6-4c39-9fbe-d16bafce4614\"}\n[2026-05-11 10:17:35] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":15} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7356be9b-68c6-4c39-9fbe-d16bafce4614\"}\n[2026-05-11 10:17:35] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612339,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb97cad3-6d10-4315-a771-a5c3a8aeeb31\"}\n[2026-05-11 10:17:35] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612339} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb97cad3-6d10-4315-a771-a5c3a8aeeb31\"}\n[2026-05-11 10:17:35] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612339,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb97cad3-6d10-4315-a771-a5c3a8aeeb31\"}\n[2026-05-11 10:17:35] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb97cad3-6d10-4315-a771-a5c3a8aeeb31\"}\n[2026-05-11 10:17:35] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb97cad3-6d10-4315-a771-a5c3a8aeeb31\"}\n[2026-05-11 10:17:35] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb97cad3-6d10-4315-a771-a5c3a8aeeb31\"}\n[2026-05-11 10:17:35] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb97cad3-6d10-4315-a771-a5c3a8aeeb31\"}\n[2026-05-11 10:17:35] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb97cad3-6d10-4315-a771-a5c3a8aeeb31\"}\n[2026-05-11 10:17:35] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb97cad3-6d10-4315-a771-a5c3a8aeeb31\"}\n[2026-05-11 10:17:35] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612339,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb97cad3-6d10-4315-a771-a5c3a8aeeb31\"}\n[2026-05-11 10:17:35] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":15} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb97cad3-6d10-4315-a771-a5c3a8aeeb31\"}\n[2026-05-11 10:17:36] 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\":\"b6a9ae37-beff-496a-820a-bcf0512308f2\",\"trace_id\":\"be38fb3e-0cfa-4c02-a66a-cc0cf8d3d54a\"}\n[2026-05-11 10:17:36] 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\":\"b6a9ae37-beff-496a-820a-bcf0512308f2\",\"trace_id\":\"be38fb3e-0cfa-4c02-a66a-cc0cf8d3d54a\"}\n[2026-05-11 10:17:37] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.49,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:17:37] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73d4c333-df67-43c5-a413-4c675a3ebc5e\"}\n[2026-05-11 10:17:37] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611451} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73d4c333-df67-43c5-a413-4c675a3ebc5e\"}\n[2026-05-11 10:17:37] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73d4c333-df67-43c5-a413-4c675a3ebc5e\"}\n[2026-05-11 10:17:37] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73d4c333-df67-43c5-a413-4c675a3ebc5e\"}\n[2026-05-11 10:17:37] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73d4c333-df67-43c5-a413-4c675a3ebc5e\"}\n[2026-05-11 10:17:37] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73d4c333-df67-43c5-a413-4c675a3ebc5e\"}\n[2026-05-11 10:17:37] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73d4c333-df67-43c5-a413-4c675a3ebc5e\"}\n[2026-05-11 10:17:37] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73d4c333-df67-43c5-a413-4c675a3ebc5e\"}\n[2026-05-11 10:17:37] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73d4c333-df67-43c5-a413-4c675a3ebc5e\"}\n[2026-05-11 10:17:37] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73d4c333-df67-43c5-a413-4c675a3ebc5e\"}\n[2026-05-11 10:17:37] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":12} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73d4c333-df67-43c5-a413-4c675a3ebc5e\"}\n[2026-05-11 10:17:37] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0c0e087e-66cf-4404-b647-530f77b3e652\"}\n[2026-05-11 10:17:37] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611087} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0c0e087e-66cf-4404-b647-530f77b3e652\"}\n[2026-05-11 10:17:37] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611087,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0c0e087e-66cf-4404-b647-530f77b3e652\"}\n[2026-05-11 10:17:37] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0c0e087e-66cf-4404-b647-530f77b3e652\"}\n[2026-05-11 10:17:37] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0c0e087e-66cf-4404-b647-530f77b3e652\"}\n[2026-05-11 10:17:37] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0c0e087e-66cf-4404-b647-530f77b3e652\"}\n[2026-05-11 10:17:37] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0c0e087e-66cf-4404-b647-530f77b3e652\"}\n[2026-05-11 10:17:37] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0c0e087e-66cf-4404-b647-530f77b3e652\"}\n[2026-05-11 10:17:37] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0c0e087e-66cf-4404-b647-530f77b3e652\"}\n[2026-05-11 10:17:37] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0c0e087e-66cf-4404-b647-530f77b3e652\"}\n[2026-05-11 10:17:37] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":14} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0c0e087e-66cf-4404-b647-530f77b3e652\"}\n[2026-05-11 10:17:37] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8ae56005-eaea-4862-83a4-4c28e0deb862\"}\n[2026-05-11 10:17:37] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611076} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8ae56005-eaea-4862-83a4-4c28e0deb862\"}\n[2026-05-11 10:17:37] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611076,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8ae56005-eaea-4862-83a4-4c28e0deb862\"}\n[2026-05-11 10:17:37] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8ae56005-eaea-4862-83a4-4c28e0deb862\"}\n[2026-05-11 10:17:37] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8ae56005-eaea-4862-83a4-4c28e0deb862\"}\n[2026-05-11 10:17:37] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8ae56005-eaea-4862-83a4-4c28e0deb862\"}\n[2026-05-11 10:17:37] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8ae56005-eaea-4862-83a4-4c28e0deb862\"}\n[2026-05-11 10:17:37] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8ae56005-eaea-4862-83a4-4c28e0deb862\"}\n[2026-05-11 10:17:37] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8ae56005-eaea-4862-83a4-4c28e0deb862\"}\n[2026-05-11 10:17:37] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8ae56005-eaea-4862-83a4-4c28e0deb862\"}\n[2026-05-11 10:17:37] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":15} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8ae56005-eaea-4862-83a4-4c28e0deb862\"}\n[2026-05-11 10:17:38] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72f691bf-4dd5-46e4-b0aa-e6d9947e244c\"}\n[2026-05-11 10:17:38] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610900} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72f691bf-4dd5-46e4-b0aa-e6d9947e244c\"}\n[2026-05-11 10:17:38] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610900,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72f691bf-4dd5-46e4-b0aa-e6d9947e244c\"}\n[2026-05-11 10:17:38] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72f691bf-4dd5-46e4-b0aa-e6d9947e244c\"}\n[2026-05-11 10:17:38] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72f691bf-4dd5-46e4-b0aa-e6d9947e244c\"}\n[2026-05-11 10:17:38] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72f691bf-4dd5-46e4-b0aa-e6d9947e244c\"}\n[2026-05-11 10:17:38] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72f691bf-4dd5-46e4-b0aa-e6d9947e244c\"}\n[2026-05-11 10:17:38] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72f691bf-4dd5-46e4-b0aa-e6d9947e244c\"}\n[2026-05-11 10:17:38] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72f691bf-4dd5-46e4-b0aa-e6d9947e244c\"}\n[2026-05-11 10:17:38] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72f691bf-4dd5-46e4-b0aa-e6d9947e244c\"}\n[2026-05-11 10:17:38] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":10} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"72f691bf-4dd5-46e4-b0aa-e6d9947e244c\"}\n[2026-05-11 10:17:38] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9c039918-1cd4-4208-bd24-8e42d3efb19e\"}\n[2026-05-11 10:17:38] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610935} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9c039918-1cd4-4208-bd24-8e42d3efb19e\"}\n[2026-05-11 10:17:38] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610935,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9c039918-1cd4-4208-bd24-8e42d3efb19e\"}\n[2026-05-11 10:17:38] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9c039918-1cd4-4208-bd24-8e42d3efb19e\"}\n[2026-05-11 10:17:38] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9c039918-1cd4-4208-bd24-8e42d3efb19e\"}\n[2026-05-11 10:17:38] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9c039918-1cd4-4208-bd24-8e42d3efb19e\"}\n[2026-05-11 10:17:38] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9c039918-1cd4-4208-bd24-8e42d3efb19e\"}\n[2026-05-11 10:17:38] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9c039918-1cd4-4208-bd24-8e42d3efb19e\"}\n[2026-05-11 10:17:38] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9c039918-1cd4-4208-bd24-8e42d3efb19e\"}\n[2026-05-11 10:17:38] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9c039918-1cd4-4208-bd24-8e42d3efb19e\"}\n[2026-05-11 10:17:38] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":10} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9c039918-1cd4-4208-bd24-8e42d3efb19e\"}\n[2026-05-11 10:17:39] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:process\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"07a987cd-1db5-4796-b217-d8d2d1b6913e\",\"trace_id\":\"90eeb583-f4ef-4d3f-bf6e-2425312728c5\"}\n[2026-05-11 10:17:39] local.INFO: [EmailSchedule] STARTING batch process {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"07a987cd-1db5-4796-b217-d8d2d1b6913e\",\"trace_id\":\"90eeb583-f4ef-4d3f-bf6e-2425312728c5\"}\n[2026-05-11 10:17:39] local.INFO: [EmailSchedule] FINISHED batch process {\"host\":\"docker_lamp_1\",\"processed\":0} {\"correlation_id\":\"07a987cd-1db5-4796-b217-d8d2d1b6913e\",\"trace_id\":\"90eeb583-f4ef-4d3f-bf6e-2425312728c5\"}\n[2026-05-11 10:17:39] 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\":\"07a987cd-1db5-4796-b217-d8d2d1b6913e\",\"trace_id\":\"90eeb583-f4ef-4d3f-bf6e-2425312728c5\"}\n[2026-05-11 10:17:39] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612336,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612336} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612336,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":243,\"contact_id\":4491,\"owner_id\":206} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":243,\"contact_id\":4491} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":243,\"contact_id\":4491,\"opportunity_id\":276} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612336,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:39] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":10} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"207e2c1f-73c1-428d-80a6-3c87aa383443\"}\n[2026-05-11 10:17:40] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3b238a85-6f7e-44ab-8dac-2e8f132b32fe\"}\n[2026-05-11 10:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611455} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3b238a85-6f7e-44ab-8dac-2e8f132b32fe\"}\n[2026-05-11 10:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611455,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3b238a85-6f7e-44ab-8dac-2e8f132b32fe\"}\n[2026-05-11 10:17:40] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3b238a85-6f7e-44ab-8dac-2e8f132b32fe\"}\n[2026-05-11 10:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3b238a85-6f7e-44ab-8dac-2e8f132b32fe\"}\n[2026-05-11 10:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3b238a85-6f7e-44ab-8dac-2e8f132b32fe\"}\n[2026-05-11 10:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3b238a85-6f7e-44ab-8dac-2e8f132b32fe\"}\n[2026-05-11 10:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3b238a85-6f7e-44ab-8dac-2e8f132b32fe\"}\n[2026-05-11 10:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3b238a85-6f7e-44ab-8dac-2e8f132b32fe\"}\n[2026-05-11 10:17:40] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3b238a85-6f7e-44ab-8dac-2e8f132b32fe\"}\n[2026-05-11 10:17:40] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":12} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3b238a85-6f7e-44ab-8dac-2e8f132b32fe\"}\n[2026-05-11 10:17:40] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"233b41da-91f2-45fb-8a21-80d2cd24570d\"}\n[2026-05-11 10:17:40] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610878} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"233b41da-91f2-45fb-8a21-80d2cd24570d\"}\n[2026-05-11 10:17:40] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610878,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"233b41da-91f2-45fb-8a21-80d2cd24570d\"}\n[2026-05-11 10:17:40] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"233b41da-91f2-45fb-8a21-80d2cd24570d\"}\n[2026-05-11 10:17:40] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"233b41da-91f2-45fb-8a21-80d2cd24570d\"}\n[2026-05-11 10:17:40] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"233b41da-91f2-45fb-8a21-80d2cd24570d\"}\n[2026-05-11 10:17:40] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"233b41da-91f2-45fb-8a21-80d2cd24570d\"}\n[2026-05-11 10:17:40] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"233b41da-91f2-45fb-8a21-80d2cd24570d\"}\n[2026-05-11 10:17:40] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"233b41da-91f2-45fb-8a21-80d2cd24570d\"}\n[2026-05-11 10:17:40] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"233b41da-91f2-45fb-8a21-80d2cd24570d\"}\n[2026-05-11 10:17:40] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":13} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"233b41da-91f2-45fb-8a21-80d2cd24570d\"}\n[2026-05-11 10:17:41] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:create\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"e17eab55-f6ef-40c4-bcf7-0b2b4af23908\",\"trace_id\":\"fab32d53-3e12-42b6-b809-50dcad19899b\"}\n[2026-05-11 10:17:41] local.INFO: [EmailSchedule] STARTING batch create {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"e17eab55-f6ef-40c4-bcf7-0b2b4af23908\",\"trace_id\":\"fab32d53-3e12-42b6-b809-50dcad19899b\"}\n[2026-05-11 10:17:41] local.INFO: [EmailSchedule] FINISHED batch create {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"e17eab55-f6ef-40c4-bcf7-0b2b4af23908\",\"trace_id\":\"fab32d53-3e12-42b6-b809-50dcad19899b\"}\n[2026-05-11 10:17:41] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"mailbox:batch:create\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"e17eab55-f6ef-40c4-bcf7-0b2b4af23908\",\"trace_id\":\"fab32d53-3e12-42b6-b809-50dcad19899b\"}\n[2026-05-11 10:17:41] local.INFO: [Jiminny\\Jobs\\Mailbox\\CreateBatches] processed 2 inboxes and created 0 batches {\"userId\":null,\"batchSize\":30,\"maxBatches\":1000} {\"correlation_id\":\"f6431de6-0cbf-4083-96fc-d316ebac17ec\",\"trace_id\":\"fab32d53-3e12-42b6-b809-50dcad19899b\"}\n[2026-05-11 10:17:42] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ae1e1745-b1f8-4fa9-9d96-b0ec9934cbbd\"}\n[2026-05-11 10:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610539} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ae1e1745-b1f8-4fa9-9d96-b0ec9934cbbd\"}\n[2026-05-11 10:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610539,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ae1e1745-b1f8-4fa9-9d96-b0ec9934cbbd\"}\n[2026-05-11 10:17:42] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ae1e1745-b1f8-4fa9-9d96-b0ec9934cbbd\"}\n[2026-05-11 10:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ae1e1745-b1f8-4fa9-9d96-b0ec9934cbbd\"}\n[2026-05-11 10:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ae1e1745-b1f8-4fa9-9d96-b0ec9934cbbd\"}\n[2026-05-11 10:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ae1e1745-b1f8-4fa9-9d96-b0ec9934cbbd\"}\n[2026-05-11 10:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ae1e1745-b1f8-4fa9-9d96-b0ec9934cbbd\"}\n[2026-05-11 10:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ae1e1745-b1f8-4fa9-9d96-b0ec9934cbbd\"}\n[2026-05-11 10:17:42] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ae1e1745-b1f8-4fa9-9d96-b0ec9934cbbd\"}\n[2026-05-11 10:17:42] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":11} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"ae1e1745-b1f8-4fa9-9d96-b0ec9934cbbd\"}\n[2026-05-11 10:17:42] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f131d63b-7da9-4a0c-b9d5-4a2d2ae772f1\"}\n[2026-05-11 10:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610915} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f131d63b-7da9-4a0c-b9d5-4a2d2ae772f1\"}\n[2026-05-11 10:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610915,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f131d63b-7da9-4a0c-b9d5-4a2d2ae772f1\"}\n[2026-05-11 10:17:42] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f131d63b-7da9-4a0c-b9d5-4a2d2ae772f1\"}\n[2026-05-11 10:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f131d63b-7da9-4a0c-b9d5-4a2d2ae772f1\"}\n[2026-05-11 10:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f131d63b-7da9-4a0c-b9d5-4a2d2ae772f1\"}\n[2026-05-11 10:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f131d63b-7da9-4a0c-b9d5-4a2d2ae772f1\"}\n[2026-05-11 10:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f131d63b-7da9-4a0c-b9d5-4a2d2ae772f1\"}\n[2026-05-11 10:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f131d63b-7da9-4a0c-b9d5-4a2d2ae772f1\"}\n[2026-05-11 10:17:42] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f131d63b-7da9-4a0c-b9d5-4a2d2ae772f1\"}\n[2026-05-11 10:17:42] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":11} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f131d63b-7da9-4a0c-b9d5-4a2d2ae772f1\"}\n[2026-05-11 10:17:42] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"93d7f7d1-3a5c-47ce-bc42-1af98a032e7b\"}\n[2026-05-11 10:17:42] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610764} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"93d7f7d1-3a5c-47ce-bc42-1af98a032e7b\"}\n[2026-05-11 10:17:42] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610764,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"93d7f7d1-3a5c-47ce-bc42-1af98a032e7b\"}\n[2026-05-11 10:17:42] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"93d7f7d1-3a5c-47ce-bc42-1af98a032e7b\"}\n[2026-05-11 10:17:42] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"93d7f7d1-3a5c-47ce-bc42-1af98a032e7b\"}\n[2026-05-11 10:17:42] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"93d7f7d1-3a5c-47ce-bc42-1af98a032e7b\"}\n[2026-05-11 10:17:42] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"93d7f7d1-3a5c-47ce-bc42-1af98a032e7b\"}\n[2026-05-11 10:17:42] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"93d7f7d1-3a5c-47ce-bc42-1af98a032e7b\"}\n[2026-05-11 10:17:42] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"93d7f7d1-3a5c-47ce-bc42-1af98a032e7b\"}\n[2026-05-11 10:17:42] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"93d7f7d1-3a5c-47ce-bc42-1af98a032e7b\"}\n[2026-05-11 10:17:42] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":15} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"93d7f7d1-3a5c-47ce-bc42-1af98a032e7b\"}\n[2026-05-11 10:17:42] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.23,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:17:43] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610490} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610490,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] local.WARNING: [Hubspot] No retry-after header or policy name found, using default {\"exception_class\":\"SevenShores\\\\Hubspot\\\\Exceptions\\\\BadRequest\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":10,\"policy\":null,\"reason\":\"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\\\":\\\"019e168a-e (truncated...)\n\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":14} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"efb63783-8dfd-4c44-805a-c36bcb5e317e\"}\n[2026-05-11 10:17:43] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"34f22bc6-50a7-4f6e-96be-552d05a23255\"}\n[2026-05-11 10:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610528} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"34f22bc6-50a7-4f6e-96be-552d05a23255\"}\n[2026-05-11 10:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610528,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"34f22bc6-50a7-4f6e-96be-552d05a23255\"}\n[2026-05-11 10:17:43] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"34f22bc6-50a7-4f6e-96be-552d05a23255\"}\n[2026-05-11 10:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"34f22bc6-50a7-4f6e-96be-552d05a23255\"}\n[2026-05-11 10:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"34f22bc6-50a7-4f6e-96be-552d05a23255\"}\n[2026-05-11 10:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"34f22bc6-50a7-4f6e-96be-552d05a23255\"}\n[2026-05-11 10:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"34f22bc6-50a7-4f6e-96be-552d05a23255\"}\n[2026-05-11 10:17:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"34f22bc6-50a7-4f6e-96be-552d05a23255\"}\n[2026-05-11 10:17:43] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"34f22bc6-50a7-4f6e-96be-552d05a23255\"}\n[2026-05-11 10:17:43] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":11} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"34f22bc6-50a7-4f6e-96be-552d05a23255\"}\n[2026-05-11 10:17:43] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"624ce203-96d1-4009-ae4e-5b6635eff4b0\"}\n[2026-05-11 10:17:43] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610885} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"624ce203-96d1-4009-ae4e-5b6635eff4b0\"}\n[2026-05-11 10:17:43] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610885,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"624ce203-96d1-4009-ae4e-5b6635eff4b0\"}\n[2026-05-11 10:17:43] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"624ce203-96d1-4009-ae4e-5b6635eff4b0\"}\n[2026-05-11 10:17:43] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"624ce203-96d1-4009-ae4e-5b6635eff4b0\"}\n[2026-05-11 10:17:43] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"624ce203-96d1-4009-ae4e-5b6635eff4b0\"}\n[2026-05-11 10:17:43] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"624ce203-96d1-4009-ae4e-5b6635eff4b0\"}\n[2026-05-11 10:17:43] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"624ce203-96d1-4009-ae4e-5b6635eff4b0\"}\n[2026-05-11 10:17:43] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"624ce203-96d1-4009-ae4e-5b6635eff4b0\"}\n[2026-05-11 10:17:43] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"624ce203-96d1-4009-ae4e-5b6635eff4b0\"}\n[2026-05-11 10:17:43] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":12} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"624ce203-96d1-4009-ae4e-5b6635eff4b0\"}\n[2026-05-11 10:17:44] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"99d1cf07-a91d-4a90-8059-1fe54fb6097a\"}\n[2026-05-11 10:17:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610451} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"99d1cf07-a91d-4a90-8059-1fe54fb6097a\"}\n[2026-05-11 10:17:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"99d1cf07-a91d-4a90-8059-1fe54fb6097a\"}\n[2026-05-11 10:17:44] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"99d1cf07-a91d-4a90-8059-1fe54fb6097a\"}\n[2026-05-11 10:17:44] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"99d1cf07-a91d-4a90-8059-1fe54fb6097a\"}\n[2026-05-11 10:17:44] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"99d1cf07-a91d-4a90-8059-1fe54fb6097a\"}\n[2026-05-11 10:17:44] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"99d1cf07-a91d-4a90-8059-1fe54fb6097a\"}\n[2026-05-11 10:17:44] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"99d1cf07-a91d-4a90-8059-1fe54fb6097a\"}\n[2026-05-11 10:17:44] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"99d1cf07-a91d-4a90-8059-1fe54fb6097a\"}\n[2026-05-11 10:17:44] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"99d1cf07-a91d-4a90-8059-1fe54fb6097a\"}\n[2026-05-11 10:17:44] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":13} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"99d1cf07-a91d-4a90-8059-1fe54fb6097a\"}\n[2026-05-11 10:17:44] 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\":\"71db6557-d1a4-488a-bcaa-cefeb41f9f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"correlation_id\":\"71db6557-d1a4-488a-bcaa-cefeb41f9f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"71db6557-d1a4-488a-bcaa-cefeb41f9f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] 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\":\"71db6557-d1a4-488a-bcaa-cefeb41f9f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"71db6557-d1a4-488a-bcaa-cefeb41f9f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"71db6557-d1a4-488a-bcaa-cefeb41f9f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"71db6557-d1a4-488a-bcaa-cefeb41f9f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"71db6557-d1a4-488a-bcaa-cefeb41f9f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"71db6557-d1a4-488a-bcaa-cefeb41f9f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"71db6557-d1a4-488a-bcaa-cefeb41f9f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":13} {\"correlation_id\":\"71db6557-d1a4-488a-bcaa-cefeb41f9f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"c4fcf2aa-0846-4e80-b18b-251b2d368949\"}\n[2026-05-11 10:17:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610874} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"c4fcf2aa-0846-4e80-b18b-251b2d368949\"}\n[2026-05-11 10:17:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610874,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"c4fcf2aa-0846-4e80-b18b-251b2d368949\"}\n[2026-05-11 10:17:44] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"c4fcf2aa-0846-4e80-b18b-251b2d368949\"}\n[2026-05-11 10:17:44] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"c4fcf2aa-0846-4e80-b18b-251b2d368949\"}\n[2026-05-11 10:17:44] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"c4fcf2aa-0846-4e80-b18b-251b2d368949\"}\n[2026-05-11 10:17:44] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"c4fcf2aa-0846-4e80-b18b-251b2d368949\"}\n[2026-05-11 10:17:44] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"c4fcf2aa-0846-4e80-b18b-251b2d368949\"}\n[2026-05-11 10:17:44] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"c4fcf2aa-0846-4e80-b18b-251b2d368949\"}\n[2026-05-11 10:17:44] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"c4fcf2aa-0846-4e80-b18b-251b2d368949\"}\n[2026-05-11 10:17:44] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":10} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"c4fcf2aa-0846-4e80-b18b-251b2d368949\"}\n[2026-05-11 10:17:44] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"286a6558-1e66-4ffb-b32f-9f823a296d14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612560} {\"correlation_id\":\"286a6558-1e66-4ffb-b32f-9f823a296d14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612560,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"286a6558-1e66-4ffb-b32f-9f823a296d14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] 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\":\"286a6558-1e66-4ffb-b32f-9f823a296d14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"286a6558-1e66-4ffb-b32f-9f823a296d14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"286a6558-1e66-4ffb-b32f-9f823a296d14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"286a6558-1e66-4ffb-b32f-9f823a296d14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"286a6558-1e66-4ffb-b32f-9f823a296d14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:44] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"correlation_id\":\"286a6558-1e66-4ffb-b32f-9f823a296d14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] 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\":\"286a6558-1e66-4ffb-b32f-9f823a296d14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] 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\":\"286a6558-1e66-4ffb-b32f-9f823a296d14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"286a6558-1e66-4ffb-b32f-9f823a296d14\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] 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\":\"c0afdc10-8cad-4dab-9147-5495fc19b7c4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"correlation_id\":\"c0afdc10-8cad-4dab-9147-5495fc19b7c4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c0afdc10-8cad-4dab-9147-5495fc19b7c4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] 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\":\"c0afdc10-8cad-4dab-9147-5495fc19b7c4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c0afdc10-8cad-4dab-9147-5495fc19b7c4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c0afdc10-8cad-4dab-9147-5495fc19b7c4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"c0afdc10-8cad-4dab-9147-5495fc19b7c4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"c0afdc10-8cad-4dab-9147-5495fc19b7c4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"c0afdc10-8cad-4dab-9147-5495fc19b7c4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"c0afdc10-8cad-4dab-9147-5495fc19b7c4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":12} {\"correlation_id\":\"c0afdc10-8cad-4dab-9147-5495fc19b7c4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1b88706b-8ac4-431d-8696-8f8766ecae33\"}\n[2026-05-11 10:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610867} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1b88706b-8ac4-431d-8696-8f8766ecae33\"}\n[2026-05-11 10:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610867,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1b88706b-8ac4-431d-8696-8f8766ecae33\"}\n[2026-05-11 10:17:45] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1b88706b-8ac4-431d-8696-8f8766ecae33\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1b88706b-8ac4-431d-8696-8f8766ecae33\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1b88706b-8ac4-431d-8696-8f8766ecae33\"}\n[2026-05-11 10:17:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1b88706b-8ac4-431d-8696-8f8766ecae33\"}\n[2026-05-11 10:17:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1b88706b-8ac4-431d-8696-8f8766ecae33\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1b88706b-8ac4-431d-8696-8f8766ecae33\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1b88706b-8ac4-431d-8696-8f8766ecae33\"}\n[2026-05-11 10:17:45] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":11} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1b88706b-8ac4-431d-8696-8f8766ecae33\"}\n[2026-05-11 10:17:45] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612819,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] 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\":null,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":261} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":299} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] 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\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] 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\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] 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\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"d8ceac67-8853-4fbf-b4de-796abc2eadc8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612847,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"b4c629ce-833d-484c-8155-4df866fe54cf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"correlation_id\":\"b4c629ce-833d-484c-8155-4df866fe54cf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b4c629ce-833d-484c-8155-4df866fe54cf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612847,\"participants\":[{\"id\":1000130,\"user_id\":null,\"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\":\"b4c629ce-833d-484c-8155-4df866fe54cf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b4c629ce-833d-484c-8155-4df866fe54cf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b4c629ce-833d-484c-8155-4df866fe54cf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b4c629ce-833d-484c-8155-4df866fe54cf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b4c629ce-833d-484c-8155-4df866fe54cf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"b4c629ce-833d-484c-8155-4df866fe54cf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"b4c629ce-833d-484c-8155-4df866fe54cf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"b4c629ce-833d-484c-8155-4df866fe54cf\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:45] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"168d2aac-7bb8-4249-b62a-e088ef05a5c3\"}\n[2026-05-11 10:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610506} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"168d2aac-7bb8-4249-b62a-e088ef05a5c3\"}\n[2026-05-11 10:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610506,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"168d2aac-7bb8-4249-b62a-e088ef05a5c3\"}\n[2026-05-11 10:17:45] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"168d2aac-7bb8-4249-b62a-e088ef05a5c3\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"168d2aac-7bb8-4249-b62a-e088ef05a5c3\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"168d2aac-7bb8-4249-b62a-e088ef05a5c3\"}\n[2026-05-11 10:17:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"168d2aac-7bb8-4249-b62a-e088ef05a5c3\"}\n[2026-05-11 10:17:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"168d2aac-7bb8-4249-b62a-e088ef05a5c3\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"168d2aac-7bb8-4249-b62a-e088ef05a5c3\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"168d2aac-7bb8-4249-b62a-e088ef05a5c3\"}\n[2026-05-11 10:17:45] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":12} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"168d2aac-7bb8-4249-b62a-e088ef05a5c3\"}\n[2026-05-11 10:17:45] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"067b89fc-5453-49ae-a3fa-5dfdb487c294\"}\n[2026-05-11 10:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610497} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"067b89fc-5453-49ae-a3fa-5dfdb487c294\"}\n[2026-05-11 10:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610497,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"067b89fc-5453-49ae-a3fa-5dfdb487c294\"}\n[2026-05-11 10:17:45] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"067b89fc-5453-49ae-a3fa-5dfdb487c294\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"067b89fc-5453-49ae-a3fa-5dfdb487c294\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"067b89fc-5453-49ae-a3fa-5dfdb487c294\"}\n[2026-05-11 10:17:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"067b89fc-5453-49ae-a3fa-5dfdb487c294\"}\n[2026-05-11 10:17:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"067b89fc-5453-49ae-a3fa-5dfdb487c294\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"067b89fc-5453-49ae-a3fa-5dfdb487c294\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"067b89fc-5453-49ae-a3fa-5dfdb487c294\"}\n[2026-05-11 10:17:45] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":10} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"067b89fc-5453-49ae-a3fa-5dfdb487c294\"}\n[2026-05-11 10:17:45] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e2d3538d-9a14-45c4-b068-84b3732061df\"}\n[2026-05-11 10:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610617} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e2d3538d-9a14-45c4-b068-84b3732061df\"}\n[2026-05-11 10:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610617,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e2d3538d-9a14-45c4-b068-84b3732061df\"}\n[2026-05-11 10:17:45] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e2d3538d-9a14-45c4-b068-84b3732061df\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e2d3538d-9a14-45c4-b068-84b3732061df\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e2d3538d-9a14-45c4-b068-84b3732061df\"}\n[2026-05-11 10:17:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e2d3538d-9a14-45c4-b068-84b3732061df\"}\n[2026-05-11 10:17:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e2d3538d-9a14-45c4-b068-84b3732061df\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e2d3538d-9a14-45c4-b068-84b3732061df\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e2d3538d-9a14-45c4-b068-84b3732061df\"}\n[2026-05-11 10:17:45] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":10} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e2d3538d-9a14-45c4-b068-84b3732061df\"}\n[2026-05-11 10:17:45] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e7285c6c-728d-4284-b885-7e9e9df72706\"}\n[2026-05-11 10:17:45] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610403} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e7285c6c-728d-4284-b885-7e9e9df72706\"}\n[2026-05-11 10:17:45] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610403,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e7285c6c-728d-4284-b885-7e9e9df72706\"}\n[2026-05-11 10:17:45] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e7285c6c-728d-4284-b885-7e9e9df72706\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e7285c6c-728d-4284-b885-7e9e9df72706\"}\n[2026-05-11 10:17:45] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e7285c6c-728d-4284-b885-7e9e9df72706\"}\n[2026-05-11 10:17:45] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e7285c6c-728d-4284-b885-7e9e9df72706\"}\n[2026-05-11 10:17:45] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e7285c6c-728d-4284-b885-7e9e9df72706\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e7285c6c-728d-4284-b885-7e9e9df72706\"}\n[2026-05-11 10:17:45] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e7285c6c-728d-4284-b885-7e9e9df72706\"}\n[2026-05-11 10:17:45] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":12} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"e7285c6c-728d-4284-b885-7e9e9df72706\"}\n[2026-05-11 10:17:46] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":614378,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":6167,\"account_id\":null,\"opportunity_id\":null,\"stage_id\":null}} {\"correlation_id\":\"5463b5ad-2286-4568-8f68-76b82d8a4c54\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:46] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"correlation_id\":\"5463b5ad-2286-4568-8f68-76b82d8a4c54\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:46] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5463b5ad-2286-4568-8f68-76b82d8a4c54\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:46] 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\":6167,\"lead_id\":null},{\"id\":1002625,\"user_id\":89,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"5463b5ad-2286-4568-8f68-76b82d8a4c54\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:46] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5463b5ad-2286-4568-8f68-76b82d8a4c54\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:46] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5463b5ad-2286-4568-8f68-76b82d8a4c54\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:46] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"5463b5ad-2286-4568-8f68-76b82d8a4c54\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:46] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"5463b5ad-2286-4568-8f68-76b82d8a4c54\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:46] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"5463b5ad-2286-4568-8f68-76b82d8a4c54\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:46] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"5463b5ad-2286-4568-8f68-76b82d8a4c54\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"5463b5ad-2286-4568-8f68-76b82d8a4c54\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612561} {\"correlation_id\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612561,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] 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\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] 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\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\"} {\"correlation_id\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] 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\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] 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\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"ca6930a0-aebc-4338-856e-6a439a838639\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7721c535-7311-417a-b30a-1286a84e037b\"}\n[2026-05-11 10:17:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610438} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7721c535-7311-417a-b30a-1286a84e037b\"}\n[2026-05-11 10:17:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610438,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7721c535-7311-417a-b30a-1286a84e037b\"}\n[2026-05-11 10:17:47] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7721c535-7311-417a-b30a-1286a84e037b\"}\n[2026-05-11 10:17:47] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7721c535-7311-417a-b30a-1286a84e037b\"}\n[2026-05-11 10:17:47] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7721c535-7311-417a-b30a-1286a84e037b\"}\n[2026-05-11 10:17:47] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7721c535-7311-417a-b30a-1286a84e037b\"}\n[2026-05-11 10:17:47] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7721c535-7311-417a-b30a-1286a84e037b\"}\n[2026-05-11 10:17:47] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7721c535-7311-417a-b30a-1286a84e037b\"}\n[2026-05-11 10:17:47] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7721c535-7311-417a-b30a-1286a84e037b\"}\n[2026-05-11 10:17:47] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":12} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7721c535-7311-417a-b30a-1286a84e037b\"}\n[2026-05-11 10:17:47] 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\":\"e20af459-b149-4a19-8ef6-4444b4cee8f9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"correlation_id\":\"e20af459-b149-4a19-8ef6-4444b4cee8f9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"e20af459-b149-4a19-8ef6-4444b4cee8f9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] 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\":\"e20af459-b149-4a19-8ef6-4444b4cee8f9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e20af459-b149-4a19-8ef6-4444b4cee8f9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"e20af459-b149-4a19-8ef6-4444b4cee8f9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"e20af459-b149-4a19-8ef6-4444b4cee8f9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"e20af459-b149-4a19-8ef6-4444b4cee8f9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"e20af459-b149-4a19-8ef6-4444b4cee8f9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"e20af459-b149-4a19-8ef6-4444b4cee8f9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"e20af459-b149-4a19-8ef6-4444b4cee8f9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:47] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90f3fc25-e34d-4c3a-b35c-84317a633c78\"}\n[2026-05-11 10:17:47] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610462} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90f3fc25-e34d-4c3a-b35c-84317a633c78\"}\n[2026-05-11 10:17:47] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610462,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90f3fc25-e34d-4c3a-b35c-84317a633c78\"}\n[2026-05-11 10:17:47] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90f3fc25-e34d-4c3a-b35c-84317a633c78\"}\n[2026-05-11 10:17:47] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90f3fc25-e34d-4c3a-b35c-84317a633c78\"}\n[2026-05-11 10:17:47] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90f3fc25-e34d-4c3a-b35c-84317a633c78\"}\n[2026-05-11 10:17:47] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90f3fc25-e34d-4c3a-b35c-84317a633c78\"}\n[2026-05-11 10:17:47] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90f3fc25-e34d-4c3a-b35c-84317a633c78\"}\n[2026-05-11 10:17:47] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90f3fc25-e34d-4c3a-b35c-84317a633c78\"}\n[2026-05-11 10:17:47] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90f3fc25-e34d-4c3a-b35c-84317a633c78\"}\n[2026-05-11 10:17:47] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":14} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90f3fc25-e34d-4c3a-b35c-84317a633c78\"}\n[2026-05-11 10:17:47] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.21,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:17:48] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6264c9dd-ba42-4c8f-a21f-3dffeb0c31c6\"}\n[2026-05-11 10:17:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610470} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6264c9dd-ba42-4c8f-a21f-3dffeb0c31c6\"}\n[2026-05-11 10:17:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610470,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6264c9dd-ba42-4c8f-a21f-3dffeb0c31c6\"}\n[2026-05-11 10:17:48] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6264c9dd-ba42-4c8f-a21f-3dffeb0c31c6\"}\n[2026-05-11 10:17:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6264c9dd-ba42-4c8f-a21f-3dffeb0c31c6\"}\n[2026-05-11 10:17:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6264c9dd-ba42-4c8f-a21f-3dffeb0c31c6\"}\n[2026-05-11 10:17:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6264c9dd-ba42-4c8f-a21f-3dffeb0c31c6\"}\n[2026-05-11 10:17:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6264c9dd-ba42-4c8f-a21f-3dffeb0c31c6\"}\n[2026-05-11 10:17:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6264c9dd-ba42-4c8f-a21f-3dffeb0c31c6\"}\n[2026-05-11 10:17:48] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6264c9dd-ba42-4c8f-a21f-3dffeb0c31c6\"}\n[2026-05-11 10:17:48] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":12} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6264c9dd-ba42-4c8f-a21f-3dffeb0c31c6\"}\n[2026-05-11 10:17: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\":\"64b7efd5-f92f-42b8-95ba-9a9e76fbb676\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"correlation_id\":\"64b7efd5-f92f-42b8-95ba-9a9e76fbb676\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"64b7efd5-f92f-42b8-95ba-9a9e76fbb676\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17: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\":\"64b7efd5-f92f-42b8-95ba-9a9e76fbb676\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"64b7efd5-f92f-42b8-95ba-9a9e76fbb676\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"64b7efd5-f92f-42b8-95ba-9a9e76fbb676\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"64b7efd5-f92f-42b8-95ba-9a9e76fbb676\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"64b7efd5-f92f-42b8-95ba-9a9e76fbb676\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"64b7efd5-f92f-42b8-95ba-9a9e76fbb676\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"64b7efd5-f92f-42b8-95ba-9a9e76fbb676\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"64b7efd5-f92f-42b8-95ba-9a9e76fbb676\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"aa8720ba-c5e3-4d7e-a7c3-697da34a195e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612562} {\"correlation_id\":\"aa8720ba-c5e3-4d7e-a7c3-697da34a195e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612562,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"aa8720ba-c5e3-4d7e-a7c3-697da34a195e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] 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\":\"aa8720ba-c5e3-4d7e-a7c3-697da34a195e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aa8720ba-c5e3-4d7e-a7c3-697da34a195e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aa8720ba-c5e3-4d7e-a7c3-697da34a195e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"aa8720ba-c5e3-4d7e-a7c3-697da34a195e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"aa8720ba-c5e3-4d7e-a7c3-697da34a195e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"correlation_id\":\"aa8720ba-c5e3-4d7e-a7c3-697da34a195e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] 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\":\"aa8720ba-c5e3-4d7e-a7c3-697da34a195e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"aa8720ba-c5e3-4d7e-a7c3-697da34a195e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"1abedcde-ca97-4113-b4a6-60a45a16f9d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610900} {\"correlation_id\":\"1abedcde-ca97-4113-b4a6-60a45a16f9d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610900,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"1abedcde-ca97-4113-b4a6-60a45a16f9d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] 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\":\"1abedcde-ca97-4113-b4a6-60a45a16f9d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1abedcde-ca97-4113-b4a6-60a45a16f9d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"1abedcde-ca97-4113-b4a6-60a45a16f9d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"1abedcde-ca97-4113-b4a6-60a45a16f9d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"1abedcde-ca97-4113-b4a6-60a45a16f9d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"1abedcde-ca97-4113-b4a6-60a45a16f9d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"1abedcde-ca97-4113-b4a6-60a45a16f9d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":12} {\"correlation_id\":\"1abedcde-ca97-4113-b4a6-60a45a16f9d8\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"d4390ffe-1359-41f6-9feb-f0bfbfdafc61\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610935} {\"correlation_id\":\"d4390ffe-1359-41f6-9feb-f0bfbfdafc61\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610935,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"d4390ffe-1359-41f6-9feb-f0bfbfdafc61\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] 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\":\"d4390ffe-1359-41f6-9feb-f0bfbfdafc61\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d4390ffe-1359-41f6-9feb-f0bfbfdafc61\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"d4390ffe-1359-41f6-9feb-f0bfbfdafc61\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"d4390ffe-1359-41f6-9feb-f0bfbfdafc61\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"d4390ffe-1359-41f6-9feb-f0bfbfdafc61\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"d4390ffe-1359-41f6-9feb-f0bfbfdafc61\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"d4390ffe-1359-41f6-9feb-f0bfbfdafc61\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:48] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":12} {\"correlation_id\":\"d4390ffe-1359-41f6-9feb-f0bfbfdafc61\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"42a128d7-d841-4c03-a6c0-7b9fa918ec1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611451} {\"correlation_id\":\"42a128d7-d841-4c03-a6c0-7b9fa918ec1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"42a128d7-d841-4c03-a6c0-7b9fa918ec1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] 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\":\"42a128d7-d841-4c03-a6c0-7b9fa918ec1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"42a128d7-d841-4c03-a6c0-7b9fa918ec1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"42a128d7-d841-4c03-a6c0-7b9fa918ec1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"42a128d7-d841-4c03-a6c0-7b9fa918ec1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"42a128d7-d841-4c03-a6c0-7b9fa918ec1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"42a128d7-d841-4c03-a6c0-7b9fa918ec1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"42a128d7-d841-4c03-a6c0-7b9fa918ec1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"42a128d7-d841-4c03-a6c0-7b9fa918ec1e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612340,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"68eaf196-29ca-48a3-8e46-5bf37620dd08\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612340} {\"correlation_id\":\"68eaf196-29ca-48a3-8e46-5bf37620dd08\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612340,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"68eaf196-29ca-48a3-8e46-5bf37620dd08\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] 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\":\"68eaf196-29ca-48a3-8e46-5bf37620dd08\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"68eaf196-29ca-48a3-8e46-5bf37620dd08\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"68eaf196-29ca-48a3-8e46-5bf37620dd08\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"68eaf196-29ca-48a3-8e46-5bf37620dd08\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"68eaf196-29ca-48a3-8e46-5bf37620dd08\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"68eaf196-29ca-48a3-8e46-5bf37620dd08\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] 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\":\"68eaf196-29ca-48a3-8e46-5bf37620dd08\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"68eaf196-29ca-48a3-8e46-5bf37620dd08\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f997c306-a176-4f3a-8699-d9cd083d6993\"}\n[2026-05-11 10:17:49] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610426} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f997c306-a176-4f3a-8699-d9cd083d6993\"}\n[2026-05-11 10:17:49] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610426,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f997c306-a176-4f3a-8699-d9cd083d6993\"}\n[2026-05-11 10:17:49] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f997c306-a176-4f3a-8699-d9cd083d6993\"}\n[2026-05-11 10:17:49] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f997c306-a176-4f3a-8699-d9cd083d6993\"}\n[2026-05-11 10:17:49] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f997c306-a176-4f3a-8699-d9cd083d6993\"}\n[2026-05-11 10:17:49] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f997c306-a176-4f3a-8699-d9cd083d6993\"}\n[2026-05-11 10:17:49] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f997c306-a176-4f3a-8699-d9cd083d6993\"}\n[2026-05-11 10:17:49] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f997c306-a176-4f3a-8699-d9cd083d6993\"}\n[2026-05-11 10:17:49] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f997c306-a176-4f3a-8699-d9cd083d6993\"}\n[2026-05-11 10:17:49] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":2,\"retry_after\":10,\"delay\":11} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f997c306-a176-4f3a-8699-d9cd083d6993\"}\n[2026-05-11 10:17:49] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612336,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"18efa24c-257e-4842-af7d-5ec20872ab02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612336} {\"correlation_id\":\"18efa24c-257e-4842-af7d-5ec20872ab02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612336,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"18efa24c-257e-4842-af7d-5ec20872ab02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] 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\":\"18efa24c-257e-4842-af7d-5ec20872ab02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"18efa24c-257e-4842-af7d-5ec20872ab02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"18efa24c-257e-4842-af7d-5ec20872ab02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"18efa24c-257e-4842-af7d-5ec20872ab02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"18efa24c-257e-4842-af7d-5ec20872ab02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"18efa24c-257e-4842-af7d-5ec20872ab02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] 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\":\"18efa24c-257e-4842-af7d-5ec20872ab02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:49] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"18efa24c-257e-4842-af7d-5ec20872ab02\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612360,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"af4fe4e8-53c1-4339-8100-49dadac0f280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612360} {\"correlation_id\":\"af4fe4e8-53c1-4339-8100-49dadac0f280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612360,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"af4fe4e8-53c1-4339-8100-49dadac0f280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] 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\":\"af4fe4e8-53c1-4339-8100-49dadac0f280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"af4fe4e8-53c1-4339-8100-49dadac0f280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"af4fe4e8-53c1-4339-8100-49dadac0f280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"af4fe4e8-53c1-4339-8100-49dadac0f280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"af4fe4e8-53c1-4339-8100-49dadac0f280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"af4fe4e8-53c1-4339-8100-49dadac0f280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] 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\":\"af4fe4e8-53c1-4339-8100-49dadac0f280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":13} {\"correlation_id\":\"af4fe4e8-53c1-4339-8100-49dadac0f280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612339,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"68a001e2-a116-4b5d-b8e7-902d08ada842\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612339} {\"correlation_id\":\"68a001e2-a116-4b5d-b8e7-902d08ada842\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612339,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"68a001e2-a116-4b5d-b8e7-902d08ada842\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] 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\":\"68a001e2-a116-4b5d-b8e7-902d08ada842\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"68a001e2-a116-4b5d-b8e7-902d08ada842\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"68a001e2-a116-4b5d-b8e7-902d08ada842\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"68a001e2-a116-4b5d-b8e7-902d08ada842\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"68a001e2-a116-4b5d-b8e7-902d08ada842\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"68a001e2-a116-4b5d-b8e7-902d08ada842\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] 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\":\"68a001e2-a116-4b5d-b8e7-902d08ada842\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":13} {\"correlation_id\":\"68a001e2-a116-4b5d-b8e7-902d08ada842\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"19bb8a09-8a89-4524-bfc1-e972923a1f2b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611087} {\"correlation_id\":\"19bb8a09-8a89-4524-bfc1-e972923a1f2b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611087,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"19bb8a09-8a89-4524-bfc1-e972923a1f2b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] 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\":\"19bb8a09-8a89-4524-bfc1-e972923a1f2b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"19bb8a09-8a89-4524-bfc1-e972923a1f2b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"19bb8a09-8a89-4524-bfc1-e972923a1f2b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"19bb8a09-8a89-4524-bfc1-e972923a1f2b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"19bb8a09-8a89-4524-bfc1-e972923a1f2b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"19bb8a09-8a89-4524-bfc1-e972923a1f2b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"19bb8a09-8a89-4524-bfc1-e972923a1f2b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:51] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"19bb8a09-8a89-4524-bfc1-e972923a1f2b\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"dd53be6e-a456-46da-ab7c-c2988301922f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611455} {\"correlation_id\":\"dd53be6e-a456-46da-ab7c-c2988301922f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611455,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"dd53be6e-a456-46da-ab7c-c2988301922f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] 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\":\"dd53be6e-a456-46da-ab7c-c2988301922f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dd53be6e-a456-46da-ab7c-c2988301922f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"dd53be6e-a456-46da-ab7c-c2988301922f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"dd53be6e-a456-46da-ab7c-c2988301922f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"dd53be6e-a456-46da-ab7c-c2988301922f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"dd53be6e-a456-46da-ab7c-c2988301922f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"dd53be6e-a456-46da-ab7c-c2988301922f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":13} {\"correlation_id\":\"dd53be6e-a456-46da-ab7c-c2988301922f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"4d0438c5-9dc4-4b93-b643-6417ac75f31a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611076} {\"correlation_id\":\"4d0438c5-9dc4-4b93-b643-6417ac75f31a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611076,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4d0438c5-9dc4-4b93-b643-6417ac75f31a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] 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\":\"4d0438c5-9dc4-4b93-b643-6417ac75f31a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4d0438c5-9dc4-4b93-b643-6417ac75f31a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4d0438c5-9dc4-4b93-b643-6417ac75f31a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4d0438c5-9dc4-4b93-b643-6417ac75f31a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4d0438c5-9dc4-4b93-b643-6417ac75f31a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"4d0438c5-9dc4-4b93-b643-6417ac75f31a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"4d0438c5-9dc4-4b93-b643-6417ac75f31a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:52] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"4d0438c5-9dc4-4b93-b643-6417ac75f31a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610539} {\"correlation_id\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610539,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] 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\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":1.19,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:17:53] local.WARNING: [Hubspot] No retry-after header or policy name found, using default {\"exception_class\":\"SevenShores\\\\Hubspot\\\\Exceptions\\\\BadRequest\"} {\"correlation_id\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.WARNING: [Hubspot] Received 429 from API {\"team_id\":2,\"config_id\":2,\"retry_after\":10,\"policy\":null,\"reason\":\"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\\\":\\\"019e168b-1 (truncated...)\n\"} {\"correlation_id\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"5b1bde17-34b2-4c96-a240-52c83ddc5c93\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"88d5107a-d1a9-4def-8f1f-6ff8bea40516\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610915} {\"correlation_id\":\"88d5107a-d1a9-4def-8f1f-6ff8bea40516\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610915,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"88d5107a-d1a9-4def-8f1f-6ff8bea40516\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] 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\":\"88d5107a-d1a9-4def-8f1f-6ff8bea40516\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"88d5107a-d1a9-4def-8f1f-6ff8bea40516\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"88d5107a-d1a9-4def-8f1f-6ff8bea40516\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"88d5107a-d1a9-4def-8f1f-6ff8bea40516\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"88d5107a-d1a9-4def-8f1f-6ff8bea40516\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"88d5107a-d1a9-4def-8f1f-6ff8bea40516\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"88d5107a-d1a9-4def-8f1f-6ff8bea40516\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":12} {\"correlation_id\":\"88d5107a-d1a9-4def-8f1f-6ff8bea40516\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"9eb70001-f31f-427d-9ecb-d42969509f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610878} {\"correlation_id\":\"9eb70001-f31f-427d-9ecb-d42969509f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610878,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9eb70001-f31f-427d-9ecb-d42969509f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] 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\":\"9eb70001-f31f-427d-9ecb-d42969509f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9eb70001-f31f-427d-9ecb-d42969509f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9eb70001-f31f-427d-9ecb-d42969509f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9eb70001-f31f-427d-9ecb-d42969509f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9eb70001-f31f-427d-9ecb-d42969509f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"9eb70001-f31f-427d-9ecb-d42969509f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"9eb70001-f31f-427d-9ecb-d42969509f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:53] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"9eb70001-f31f-427d-9ecb-d42969509f8e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"b291b19d-e631-4390-a8ce-49431d5f566f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610528} {\"correlation_id\":\"b291b19d-e631-4390-a8ce-49431d5f566f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610528,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"b291b19d-e631-4390-a8ce-49431d5f566f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] 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\":\"b291b19d-e631-4390-a8ce-49431d5f566f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b291b19d-e631-4390-a8ce-49431d5f566f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"b291b19d-e631-4390-a8ce-49431d5f566f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"b291b19d-e631-4390-a8ce-49431d5f566f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"b291b19d-e631-4390-a8ce-49431d5f566f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"b291b19d-e631-4390-a8ce-49431d5f566f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"b291b19d-e631-4390-a8ce-49431d5f566f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"b291b19d-e631-4390-a8ce-49431d5f566f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"4b8fb89e-a1a0-4894-81d9-5d1e86570512\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610874} {\"correlation_id\":\"4b8fb89e-a1a0-4894-81d9-5d1e86570512\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610874,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4b8fb89e-a1a0-4894-81d9-5d1e86570512\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] 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\":\"4b8fb89e-a1a0-4894-81d9-5d1e86570512\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4b8fb89e-a1a0-4894-81d9-5d1e86570512\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4b8fb89e-a1a0-4894-81d9-5d1e86570512\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4b8fb89e-a1a0-4894-81d9-5d1e86570512\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4b8fb89e-a1a0-4894-81d9-5d1e86570512\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"4b8fb89e-a1a0-4894-81d9-5d1e86570512\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"4b8fb89e-a1a0-4894-81d9-5d1e86570512\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"4b8fb89e-a1a0-4894-81d9-5d1e86570512\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"f27f33ba-8caa-49a5-9cad-cd8293e9a7db\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610497} {\"correlation_id\":\"f27f33ba-8caa-49a5-9cad-cd8293e9a7db\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610497,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"f27f33ba-8caa-49a5-9cad-cd8293e9a7db\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] 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\":\"f27f33ba-8caa-49a5-9cad-cd8293e9a7db\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f27f33ba-8caa-49a5-9cad-cd8293e9a7db\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"f27f33ba-8caa-49a5-9cad-cd8293e9a7db\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"f27f33ba-8caa-49a5-9cad-cd8293e9a7db\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"f27f33ba-8caa-49a5-9cad-cd8293e9a7db\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"f27f33ba-8caa-49a5-9cad-cd8293e9a7db\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"f27f33ba-8caa-49a5-9cad-cd8293e9a7db\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":12} {\"correlation_id\":\"f27f33ba-8caa-49a5-9cad-cd8293e9a7db\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"af6121c1-ef51-49a6-acda-bb121812831a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610617} {\"correlation_id\":\"af6121c1-ef51-49a6-acda-bb121812831a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610617,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"af6121c1-ef51-49a6-acda-bb121812831a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] 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\":\"af6121c1-ef51-49a6-acda-bb121812831a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"af6121c1-ef51-49a6-acda-bb121812831a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"af6121c1-ef51-49a6-acda-bb121812831a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"af6121c1-ef51-49a6-acda-bb121812831a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"af6121c1-ef51-49a6-acda-bb121812831a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"af6121c1-ef51-49a6-acda-bb121812831a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"af6121c1-ef51-49a6-acda-bb121812831a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"af6121c1-ef51-49a6-acda-bb121812831a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"7c89eb2a-2a39-463f-abad-6b13e5fed935\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610885} {\"correlation_id\":\"7c89eb2a-2a39-463f-abad-6b13e5fed935\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610885,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"7c89eb2a-2a39-463f-abad-6b13e5fed935\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] 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\":\"7c89eb2a-2a39-463f-abad-6b13e5fed935\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7c89eb2a-2a39-463f-abad-6b13e5fed935\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"7c89eb2a-2a39-463f-abad-6b13e5fed935\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"7c89eb2a-2a39-463f-abad-6b13e5fed935\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"7c89eb2a-2a39-463f-abad-6b13e5fed935\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"7c89eb2a-2a39-463f-abad-6b13e5fed935\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"7c89eb2a-2a39-463f-abad-6b13e5fed935\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:55] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":13} {\"correlation_id\":\"7c89eb2a-2a39-463f-abad-6b13e5fed935\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:56] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"9c37e4f5-1e21-4f96-86d0-2d8f2ce76d49\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:56] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610867} {\"correlation_id\":\"9c37e4f5-1e21-4f96-86d0-2d8f2ce76d49\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:56] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610867,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9c37e4f5-1e21-4f96-86d0-2d8f2ce76d49\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:56] 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\":\"9c37e4f5-1e21-4f96-86d0-2d8f2ce76d49\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:56] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9c37e4f5-1e21-4f96-86d0-2d8f2ce76d49\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:56] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9c37e4f5-1e21-4f96-86d0-2d8f2ce76d49\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:56] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9c37e4f5-1e21-4f96-86d0-2d8f2ce76d49\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:56] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9c37e4f5-1e21-4f96-86d0-2d8f2ce76d49\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:56] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"9c37e4f5-1e21-4f96-86d0-2d8f2ce76d49\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:56] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"9c37e4f5-1e21-4f96-86d0-2d8f2ce76d49\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:56] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":12} {\"correlation_id\":\"9c37e4f5-1e21-4f96-86d0-2d8f2ce76d49\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"5a0ad4cc-8cdd-4f1e-8bae-a70a2f7b7280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610490} {\"correlation_id\":\"5a0ad4cc-8cdd-4f1e-8bae-a70a2f7b7280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610490,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5a0ad4cc-8cdd-4f1e-8bae-a70a2f7b7280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] 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\":\"5a0ad4cc-8cdd-4f1e-8bae-a70a2f7b7280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5a0ad4cc-8cdd-4f1e-8bae-a70a2f7b7280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5a0ad4cc-8cdd-4f1e-8bae-a70a2f7b7280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"5a0ad4cc-8cdd-4f1e-8bae-a70a2f7b7280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"5a0ad4cc-8cdd-4f1e-8bae-a70a2f7b7280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"5a0ad4cc-8cdd-4f1e-8bae-a70a2f7b7280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] 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\":\"5a0ad4cc-8cdd-4f1e-8bae-a70a2f7b7280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] 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\":\"5a0ad4cc-8cdd-4f1e-8bae-a70a2f7b7280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":11} {\"correlation_id\":\"5a0ad4cc-8cdd-4f1e-8bae-a70a2f7b7280\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"9884d6bc-6966-4c2b-b123-bd6bff97b920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610451} {\"correlation_id\":\"9884d6bc-6966-4c2b-b123-bd6bff97b920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:57] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9884d6bc-6966-4c2b-b123-bd6bff97b920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] 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\":\"9884d6bc-6966-4c2b-b123-bd6bff97b920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9884d6bc-6966-4c2b-b123-bd6bff97b920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9884d6bc-6966-4c2b-b123-bd6bff97b920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9884d6bc-6966-4c2b-b123-bd6bff97b920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9884d6bc-6966-4c2b-b123-bd6bff97b920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"9884d6bc-6966-4c2b-b123-bd6bff97b920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"9884d6bc-6966-4c2b-b123-bd6bff97b920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"9884d6bc-6966-4c2b-b123-bd6bff97b920\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] 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}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"a7f9bc7e-977e-4032-820f-1e0b80c6214f\"}\n[2026-05-11 10:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"a7f9bc7e-977e-4032-820f-1e0b80c6214f\"}\n[2026-05-11 10:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"a7f9bc7e-977e-4032-820f-1e0b80c6214f\"}\n[2026-05-11 10:17:58] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"a7f9bc7e-977e-4032-820f-1e0b80c6214f\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"a7f9bc7e-977e-4032-820f-1e0b80c6214f\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"a7f9bc7e-977e-4032-820f-1e0b80c6214f\"}\n[2026-05-11 10:17:58] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"a7f9bc7e-977e-4032-820f-1e0b80c6214f\"}\n[2026-05-11 10:17:58] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"a7f9bc7e-977e-4032-820f-1e0b80c6214f\"}\n[2026-05-11 10:17:58] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"a7f9bc7e-977e-4032-820f-1e0b80c6214f\"}\n[2026-05-11 10:17:58] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"a7f9bc7e-977e-4032-820f-1e0b80c6214f\"}\n[2026-05-11 10:17:58] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"4674593f-9f44-4f03-8474-ff0a7926a543\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610764} {\"correlation_id\":\"4674593f-9f44-4f03-8474-ff0a7926a543\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610764,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4674593f-9f44-4f03-8474-ff0a7926a543\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] 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\":\"4674593f-9f44-4f03-8474-ff0a7926a543\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4674593f-9f44-4f03-8474-ff0a7926a543\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4674593f-9f44-4f03-8474-ff0a7926a543\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4674593f-9f44-4f03-8474-ff0a7926a543\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4674593f-9f44-4f03-8474-ff0a7926a543\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"4674593f-9f44-4f03-8474-ff0a7926a543\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"4674593f-9f44-4f03-8474-ff0a7926a543\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":14} {\"correlation_id\":\"4674593f-9f44-4f03-8474-ff0a7926a543\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"9c459c55-c8be-453e-9540-0477f5134f6f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610506} {\"correlation_id\":\"9c459c55-c8be-453e-9540-0477f5134f6f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610506,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9c459c55-c8be-453e-9540-0477f5134f6f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] 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\":\"9c459c55-c8be-453e-9540-0477f5134f6f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9c459c55-c8be-453e-9540-0477f5134f6f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9c459c55-c8be-453e-9540-0477f5134f6f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9c459c55-c8be-453e-9540-0477f5134f6f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9c459c55-c8be-453e-9540-0477f5134f6f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"9c459c55-c8be-453e-9540-0477f5134f6f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"9c459c55-c8be-453e-9540-0477f5134f6f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":10} {\"correlation_id\":\"9c459c55-c8be-453e-9540-0477f5134f6f\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"52ae8415-fd35-4109-8db4-45893cf37c4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610403} {\"correlation_id\":\"52ae8415-fd35-4109-8db4-45893cf37c4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610403,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"52ae8415-fd35-4109-8db4-45893cf37c4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] 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\":\"52ae8415-fd35-4109-8db4-45893cf37c4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"52ae8415-fd35-4109-8db4-45893cf37c4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"52ae8415-fd35-4109-8db4-45893cf37c4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"52ae8415-fd35-4109-8db4-45893cf37c4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"52ae8415-fd35-4109-8db4-45893cf37c4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"52ae8415-fd35-4109-8db4-45893cf37c4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"52ae8415-fd35-4109-8db4-45893cf37c4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"52ae8415-fd35-4109-8db4-45893cf37c4c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:58] 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}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3693e67e-875d-4232-a495-1621a90bf41a\"}\n[2026-05-11 10:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3693e67e-875d-4232-a495-1621a90bf41a\"}\n[2026-05-11 10:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3693e67e-875d-4232-a495-1621a90bf41a\"}\n[2026-05-11 10:17:58] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3693e67e-875d-4232-a495-1621a90bf41a\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3693e67e-875d-4232-a495-1621a90bf41a\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3693e67e-875d-4232-a495-1621a90bf41a\"}\n[2026-05-11 10:17:58] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3693e67e-875d-4232-a495-1621a90bf41a\"}\n[2026-05-11 10:17:58] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3693e67e-875d-4232-a495-1621a90bf41a\"}\n[2026-05-11 10:17:58] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3693e67e-875d-4232-a495-1621a90bf41a\"}\n[2026-05-11 10:17:58] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"3693e67e-875d-4232-a495-1621a90bf41a\"}\n[2026-05-11 10:17:58] 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}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"56a279f5-3276-4781-9691-6ac712992a03\"}\n[2026-05-11 10:17:58] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"56a279f5-3276-4781-9691-6ac712992a03\"}\n[2026-05-11 10:17:58] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"56a279f5-3276-4781-9691-6ac712992a03\"}\n[2026-05-11 10:17:58] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"56a279f5-3276-4781-9691-6ac712992a03\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"56a279f5-3276-4781-9691-6ac712992a03\"}\n[2026-05-11 10:17:58] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"56a279f5-3276-4781-9691-6ac712992a03\"}\n[2026-05-11 10:17:58] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"56a279f5-3276-4781-9691-6ac712992a03\"}\n[2026-05-11 10:17:58] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"56a279f5-3276-4781-9691-6ac712992a03\"}\n[2026-05-11 10:17:59] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"56a279f5-3276-4781-9691-6ac712992a03\"}\n[2026-05-11 10:17:59] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"56a279f5-3276-4781-9691-6ac712992a03\"}\n[2026-05-11 10:17:59] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"2149fff4-fc50-4b5e-8346-f4fe92446383\"}\n[2026-05-11 10:17:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612562} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"2149fff4-fc50-4b5e-8346-f4fe92446383\"}\n[2026-05-11 10:17:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612562,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"2149fff4-fc50-4b5e-8346-f4fe92446383\"}\n[2026-05-11 10:17:59] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"2149fff4-fc50-4b5e-8346-f4fe92446383\"}\n[2026-05-11 10:17:59] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"2149fff4-fc50-4b5e-8346-f4fe92446383\"}\n[2026-05-11 10:17:59] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"2149fff4-fc50-4b5e-8346-f4fe92446383\"}\n[2026-05-11 10:17:59] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"2149fff4-fc50-4b5e-8346-f4fe92446383\"}\n[2026-05-11 10:17:59] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"2149fff4-fc50-4b5e-8346-f4fe92446383\"}\n[2026-05-11 10:17:59] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"2149fff4-fc50-4b5e-8346-f4fe92446383\"}\n[2026-05-11 10:17:59] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"2149fff4-fc50-4b5e-8346-f4fe92446383\"}\n[2026-05-11 10:17:59] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"6c488719-2433-44c2-be14-6234030389cb\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:59] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610438} {\"correlation_id\":\"6c488719-2433-44c2-be14-6234030389cb\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:59] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610438,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"6c488719-2433-44c2-be14-6234030389cb\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:59] 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\":\"6c488719-2433-44c2-be14-6234030389cb\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:59] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.31,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:17:59] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6c488719-2433-44c2-be14-6234030389cb\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:59] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"6c488719-2433-44c2-be14-6234030389cb\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:59] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"6c488719-2433-44c2-be14-6234030389cb\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:59] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"6c488719-2433-44c2-be14-6234030389cb\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:59] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"6c488719-2433-44c2-be14-6234030389cb\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:59] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"6c488719-2433-44c2-be14-6234030389cb\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:17:59] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":13} {\"correlation_id\":\"6c488719-2433-44c2-be14-6234030389cb\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:00] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612819,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"af37fbba-e927-4df9-840b-3ede48a1d911\"}\n[2026-05-11 10:18:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"af37fbba-e927-4df9-840b-3ede48a1d911\"}\n[2026-05-11 10:18:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"af37fbba-e927-4df9-840b-3ede48a1d911\"}\n[2026-05-11 10:18:00] 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\":null,\"contact_id\":null,\"lead_id\":null}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"af37fbba-e927-4df9-840b-3ede48a1d911\"}\n[2026-05-11 10:18:00] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"af37fbba-e927-4df9-840b-3ede48a1d911\"}\n[2026-05-11 10:18:00] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"af37fbba-e927-4df9-840b-3ede48a1d911\"}\n[2026-05-11 10:18:00] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"af37fbba-e927-4df9-840b-3ede48a1d911\"}\n[2026-05-11 10:18:00] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"af37fbba-e927-4df9-840b-3ede48a1d911\"}\n[2026-05-11 10:18:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"af37fbba-e927-4df9-840b-3ede48a1d911\"}\n[2026-05-11 10:18:00] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612819,\"team_id\":2,\"email\":\"adelina.petrova@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"af37fbba-e927-4df9-840b-3ede48a1d911\"}\n[2026-05-11 10:18:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"af37fbba-e927-4df9-840b-3ede48a1d911\"}\n[2026-05-11 10:18:00] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"af37fbba-e927-4df9-840b-3ede48a1d911\"}\n[2026-05-11 10:18:00] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612847,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"534825cf-e6d0-42f8-8ff6-18fee9ebbcf9\"}\n[2026-05-11 10:18:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"534825cf-e6d0-42f8-8ff6-18fee9ebbcf9\"}\n[2026-05-11 10:18:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"534825cf-e6d0-42f8-8ff6-18fee9ebbcf9\"}\n[2026-05-11 10:18:00] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612847,\"participants\":[{\"id\":1000130,\"user_id\":null,\"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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"534825cf-e6d0-42f8-8ff6-18fee9ebbcf9\"}\n[2026-05-11 10:18:00] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"534825cf-e6d0-42f8-8ff6-18fee9ebbcf9\"}\n[2026-05-11 10:18:00] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"534825cf-e6d0-42f8-8ff6-18fee9ebbcf9\"}\n[2026-05-11 10:18:00] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"534825cf-e6d0-42f8-8ff6-18fee9ebbcf9\"}\n[2026-05-11 10:18:00] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"534825cf-e6d0-42f8-8ff6-18fee9ebbcf9\"}\n[2026-05-11 10:18:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"534825cf-e6d0-42f8-8ff6-18fee9ebbcf9\"}\n[2026-05-11 10:18:00] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"534825cf-e6d0-42f8-8ff6-18fee9ebbcf9\"}\n[2026-05-11 10:18:00] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"13c3f8a7-53c0-490e-915d-f30216c6fae9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:00] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610470} {\"correlation_id\":\"13c3f8a7-53c0-490e-915d-f30216c6fae9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:00] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610470,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"13c3f8a7-53c0-490e-915d-f30216c6fae9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:00] 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\":\"13c3f8a7-53c0-490e-915d-f30216c6fae9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:00] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"13c3f8a7-53c0-490e-915d-f30216c6fae9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:00] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"13c3f8a7-53c0-490e-915d-f30216c6fae9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:00] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"13c3f8a7-53c0-490e-915d-f30216c6fae9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:00] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"13c3f8a7-53c0-490e-915d-f30216c6fae9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:00] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"13c3f8a7-53c0-490e-915d-f30216c6fae9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:00] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"13c3f8a7-53c0-490e-915d-f30216c6fae9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:00] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":15} {\"correlation_id\":\"13c3f8a7-53c0-490e-915d-f30216c6fae9\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"785d023d-231c-4c69-9e14-64b9f386cd8a\"}\n[2026-05-11 10:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610900} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"785d023d-231c-4c69-9e14-64b9f386cd8a\"}\n[2026-05-11 10:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610900,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"785d023d-231c-4c69-9e14-64b9f386cd8a\"}\n[2026-05-11 10:18:01] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"785d023d-231c-4c69-9e14-64b9f386cd8a\"}\n[2026-05-11 10:18:01] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"785d023d-231c-4c69-9e14-64b9f386cd8a\"}\n[2026-05-11 10:18:01] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"785d023d-231c-4c69-9e14-64b9f386cd8a\"}\n[2026-05-11 10:18:01] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"785d023d-231c-4c69-9e14-64b9f386cd8a\"}\n[2026-05-11 10:18:01] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"785d023d-231c-4c69-9e14-64b9f386cd8a\"}\n[2026-05-11 10:18:01] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"785d023d-231c-4c69-9e14-64b9f386cd8a\"}\n[2026-05-11 10:18:01] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"785d023d-231c-4c69-9e14-64b9f386cd8a\"}\n[2026-05-11 10:18:01] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"aea37783-669f-433b-aac7-ead252f60285\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610426} {\"correlation_id\":\"aea37783-669f-433b-aac7-ead252f60285\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610426,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"aea37783-669f-433b-aac7-ead252f60285\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] 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\":\"aea37783-669f-433b-aac7-ead252f60285\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aea37783-669f-433b-aac7-ead252f60285\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"aea37783-669f-433b-aac7-ead252f60285\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"aea37783-669f-433b-aac7-ead252f60285\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"aea37783-669f-433b-aac7-ead252f60285\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"aea37783-669f-433b-aac7-ead252f60285\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"aea37783-669f-433b-aac7-ead252f60285\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":10} {\"correlation_id\":\"aea37783-669f-433b-aac7-ead252f60285\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73386989-234b-4074-93cd-b907d73fb039\"}\n[2026-05-11 10:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610935} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73386989-234b-4074-93cd-b907d73fb039\"}\n[2026-05-11 10:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610935,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73386989-234b-4074-93cd-b907d73fb039\"}\n[2026-05-11 10:18:01] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73386989-234b-4074-93cd-b907d73fb039\"}\n[2026-05-11 10:18:01] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73386989-234b-4074-93cd-b907d73fb039\"}\n[2026-05-11 10:18:01] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73386989-234b-4074-93cd-b907d73fb039\"}\n[2026-05-11 10:18:01] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73386989-234b-4074-93cd-b907d73fb039\"}\n[2026-05-11 10:18:01] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73386989-234b-4074-93cd-b907d73fb039\"}\n[2026-05-11 10:18:01] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73386989-234b-4074-93cd-b907d73fb039\"}\n[2026-05-11 10:18:01] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"73386989-234b-4074-93cd-b907d73fb039\"}\n[2026-05-11 10:18:01] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"67837137-7da9-4fc3-807c-fa87dbcc5090\"}\n[2026-05-11 10:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612560} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"67837137-7da9-4fc3-807c-fa87dbcc5090\"}\n[2026-05-11 10:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612560,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"67837137-7da9-4fc3-807c-fa87dbcc5090\"}\n[2026-05-11 10:18:01] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"67837137-7da9-4fc3-807c-fa87dbcc5090\"}\n[2026-05-11 10:18:01] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"67837137-7da9-4fc3-807c-fa87dbcc5090\"}\n[2026-05-11 10:18:01] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"67837137-7da9-4fc3-807c-fa87dbcc5090\"}\n[2026-05-11 10:18:01] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"67837137-7da9-4fc3-807c-fa87dbcc5090\"}\n[2026-05-11 10:18:01] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"67837137-7da9-4fc3-807c-fa87dbcc5090\"}\n[2026-05-11 10:18:01] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"67837137-7da9-4fc3-807c-fa87dbcc5090\"}\n[2026-05-11 10:18:01] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"67837137-7da9-4fc3-807c-fa87dbcc5090\"}\n[2026-05-11 10:18:01] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1d0c22f1-5e71-452c-94ab-4a7ba39ee8be\"}\n[2026-05-11 10:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612561} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1d0c22f1-5e71-452c-94ab-4a7ba39ee8be\"}\n[2026-05-11 10:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612561,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1d0c22f1-5e71-452c-94ab-4a7ba39ee8be\"}\n[2026-05-11 10:18:01] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1d0c22f1-5e71-452c-94ab-4a7ba39ee8be\"}\n[2026-05-11 10:18:01] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1d0c22f1-5e71-452c-94ab-4a7ba39ee8be\"}\n[2026-05-11 10:18:01] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1d0c22f1-5e71-452c-94ab-4a7ba39ee8be\"}\n[2026-05-11 10:18:01] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1d0c22f1-5e71-452c-94ab-4a7ba39ee8be\"}\n[2026-05-11 10:18:01] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1d0c22f1-5e71-452c-94ab-4a7ba39ee8be\"}\n[2026-05-11 10:18:01] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612561,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1d0c22f1-5e71-452c-94ab-4a7ba39ee8be\"}\n[2026-05-11 10:18:01] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1d0c22f1-5e71-452c-94ab-4a7ba39ee8be\"}\n[2026-05-11 10:18:01] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1d0c22f1-5e71-452c-94ab-4a7ba39ee8be\"}\n[2026-05-11 10:18:01] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"5e4163ac-fdc7-49df-89de-383bf3f5bcd4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610462} {\"correlation_id\":\"5e4163ac-fdc7-49df-89de-383bf3f5bcd4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610462,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"5e4163ac-fdc7-49df-89de-383bf3f5bcd4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] 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\":\"5e4163ac-fdc7-49df-89de-383bf3f5bcd4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5e4163ac-fdc7-49df-89de-383bf3f5bcd4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"5e4163ac-fdc7-49df-89de-383bf3f5bcd4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"5e4163ac-fdc7-49df-89de-383bf3f5bcd4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"5e4163ac-fdc7-49df-89de-383bf3f5bcd4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"5e4163ac-fdc7-49df-89de-383bf3f5bcd4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"5e4163ac-fdc7-49df-89de-383bf3f5bcd4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:01] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {\"job_class\":\"Jiminny\\\\Jobs\\\\Crm\\\\MatchActivityCrmData\",\"attempts\":3,\"retry_after\":10,\"delay\":10} {\"correlation_id\":\"5e4163ac-fdc7-49df-89de-383bf3f5bcd4\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:02] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":614378,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":6167,\"account_id\":null,\"opportunity_id\":null,\"stage_id\":null}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9476099f-6f93-4402-b763-b075c4f8ed44\"}\n[2026-05-11 10:18:02] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9476099f-6f93-4402-b763-b075c4f8ed44\"}\n[2026-05-11 10:18:02] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9476099f-6f93-4402-b763-b075c4f8ed44\"}\n[2026-05-11 10:18:02] 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\":6167,\"lead_id\":null},{\"id\":1002625,\"user_id\":89,\"contact_id\":null,\"lead_id\":null}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9476099f-6f93-4402-b763-b075c4f8ed44\"}\n[2026-05-11 10:18:02] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9476099f-6f93-4402-b763-b075c4f8ed44\"}\n[2026-05-11 10:18:02] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9476099f-6f93-4402-b763-b075c4f8ed44\"}\n[2026-05-11 10:18:02] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9476099f-6f93-4402-b763-b075c4f8ed44\"}\n[2026-05-11 10:18:02] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9476099f-6f93-4402-b763-b075c4f8ed44\"}\n[2026-05-11 10:18:02] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9476099f-6f93-4402-b763-b075c4f8ed44\"}\n[2026-05-11 10:18:02] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9476099f-6f93-4402-b763-b075c4f8ed44\"}\n[2026-05-11 10:18:03] 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}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7e0e12d1-b270-490b-848b-763e373c90e0\"}\n[2026-05-11 10:18:03] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7e0e12d1-b270-490b-848b-763e373c90e0\"}\n[2026-05-11 10:18:03] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7e0e12d1-b270-490b-848b-763e373c90e0\"}\n[2026-05-11 10:18:03] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7e0e12d1-b270-490b-848b-763e373c90e0\"}\n[2026-05-11 10:18:03] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7e0e12d1-b270-490b-848b-763e373c90e0\"}\n[2026-05-11 10:18:03] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7e0e12d1-b270-490b-848b-763e373c90e0\"}\n[2026-05-11 10:18:03] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7e0e12d1-b270-490b-848b-763e373c90e0\"}\n[2026-05-11 10:18:03] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7e0e12d1-b270-490b-848b-763e373c90e0\"}\n[2026-05-11 10:18:03] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7e0e12d1-b270-490b-848b-763e373c90e0\"}\n[2026-05-11 10:18:03] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7e0e12d1-b270-490b-848b-763e373c90e0\"}\n[2026-05-11 10:18: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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"adaf1f1e-8477-469f-86c9-9c59d2623f11\"}\n[2026-05-11 10:18:03] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611451} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"adaf1f1e-8477-469f-86c9-9c59d2623f11\"}\n[2026-05-11 10:18:03] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"adaf1f1e-8477-469f-86c9-9c59d2623f11\"}\n[2026-05-11 10:18: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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"adaf1f1e-8477-469f-86c9-9c59d2623f11\"}\n[2026-05-11 10:18:03] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"adaf1f1e-8477-469f-86c9-9c59d2623f11\"}\n[2026-05-11 10:18:03] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"adaf1f1e-8477-469f-86c9-9c59d2623f11\"}\n[2026-05-11 10:18:03] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"adaf1f1e-8477-469f-86c9-9c59d2623f11\"}\n[2026-05-11 10:18:03] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"adaf1f1e-8477-469f-86c9-9c59d2623f11\"}\n[2026-05-11 10:18:03] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"adaf1f1e-8477-469f-86c9-9c59d2623f11\"}\n[2026-05-11 10:18:03] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"adaf1f1e-8477-469f-86c9-9c59d2623f11\"}\n[2026-05-11 10:18:03] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612336,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1235043b-578e-49e0-9ebe-230be6d9a8f8\"}\n[2026-05-11 10:18:03] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612336} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1235043b-578e-49e0-9ebe-230be6d9a8f8\"}\n[2026-05-11 10:18:03] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612336,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1235043b-578e-49e0-9ebe-230be6d9a8f8\"}\n[2026-05-11 10:18:03] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1235043b-578e-49e0-9ebe-230be6d9a8f8\"}\n[2026-05-11 10:18:03] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1235043b-578e-49e0-9ebe-230be6d9a8f8\"}\n[2026-05-11 10:18:03] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1235043b-578e-49e0-9ebe-230be6d9a8f8\"}\n[2026-05-11 10:18:03] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1235043b-578e-49e0-9ebe-230be6d9a8f8\"}\n[2026-05-11 10:18:03] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1235043b-578e-49e0-9ebe-230be6d9a8f8\"}\n[2026-05-11 10:18:03] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1235043b-578e-49e0-9ebe-230be6d9a8f8\"}\n[2026-05-11 10:18:03] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612336,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"1235043b-578e-49e0-9ebe-230be6d9a8f8\"}\n[2026-05-11 10:18:04] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:04] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610539} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610539,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:04] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:04] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:04] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:04] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:04] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:04] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:04] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.47,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:18: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.3,\"average_seconds_per_request\":0.3} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:05] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:05] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:05] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:05] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:05] 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}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18: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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:06] 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\":\"1042ef38-481f-4e55-9261-bb89ceb4cd6f\",\"trace_id\":\"3cbbfc20-36d7-4827-9e77-e5ea12d34c82\"}\n[2026-05-11 10:18:06] local.INFO: [ScheduleBotCommand] Number of activities to be captured: 0 {\"correlation_id\":\"1042ef38-481f-4e55-9261-bb89ceb4cd6f\",\"trace_id\":\"3cbbfc20-36d7-4827-9e77-e5ea12d34c82\"}\n[2026-05-11 10:18:06] 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\":\"1042ef38-481f-4e55-9261-bb89ceb4cd6f\",\"trace_id\":\"3cbbfc20-36d7-4827-9e77-e5ea12d34c82\"}\n[2026-05-11 10:18: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\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:06] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610539,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610539} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610539,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18:06] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"556047b1-b970-491f-90a1-03a361d35100\"}\n[2026-05-11 10:18: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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:06] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610878} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:06] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610878,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18: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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:06] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:06] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:06] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:06] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:06] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:06] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:06] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18: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\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610878,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610878} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610878,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:07] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"657e3baa-5806-4803-8f06-5375e09f4728\"}\n[2026-05-11 10:18:07] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612340,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612340} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612340,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612340,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] 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.25,\"average_seconds_per_request\":0.25} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] 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.48,\"average_seconds_per_request\":0.48} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612340,\"participants_processed\":4,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612340} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612340,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:07] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6b8427b4-3b81-40ed-b97f-336493ac466a\"}\n[2026-05-11 10:18:08] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612360,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612360} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612360,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612360,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612360,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612360} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612360,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bea3a6fc-5389-4a59-a601-2f8fe9a2d01c\"}\n[2026-05-11 10:18:08] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612339,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612339} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612339,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":612339,\"team_id\":2,\"email\":\"horen.kirazyan@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612339,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612339} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612339,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"f92f5ee2-fe1d-48c0-812c-1ef5822e650b\"}\n[2026-05-11 10:18:08] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:08] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611455} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:08] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611455,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:08] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:08] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:08] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:08] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:08] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:08] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:08] 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\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:08] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:09] 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.66,\"average_seconds_per_request\":0.66} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:09] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:09] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:09] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:09] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"dialers:monitor-activities\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"e0173b67-adc7-4861-acea-33ec563fa8bc\",\"trace_id\":\"df5cbecf-dde1-4674-82c8-8b7a2f4b74de\"}\n[2026-05-11 10:18:09] 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\":\"e0173b67-adc7-4861-acea-33ec563fa8bc\",\"trace_id\":\"df5cbecf-dde1-4674-82c8-8b7a2f4b74de\"}\n[2026-05-11 10:18:09] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:09] 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}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:09] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.3,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:18:09] 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.26,\"average_seconds_per_request\":0.26} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":611455,\"team_id\":2,\"email\":\"aneliya.angelova@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611455,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611455} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611455,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:10] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"dd54f05a-e554-44ab-9379-da61bcac65a5\"}\n[2026-05-11 10:18:10] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610915} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610915,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610915,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610915,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610915} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610915,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"b8548036-8907-428c-a1a8-534820e4d593\"}\n[2026-05-11 10:18:10] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610528} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610528,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610528,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610528,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610528} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610528,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"538a5f7a-a2da-4a62-8b62-211aeb5dc208\"}\n[2026-05-11 10:18:10] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611087} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611087,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":611087,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611087,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611087} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611087,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"356103b6-5095-43de-8a30-6e30a04734da\"}\n[2026-05-11 10:18:10] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611076} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611076,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":611076,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611076,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611076} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611076,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"9e9f9d73-ae12-4bdb-86a9-b2dfc5eadb1e\"}\n[2026-05-11 10:18:10] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610497} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610497,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610497,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610497,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610497} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610497,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57a562f3-a27e-4b76-9ef2-191fc918812c\"}\n[2026-05-11 10:18:10] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610867} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610867,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610867,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610867,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610867} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610867,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"6d84e7da-d52b-4ded-b8d7-965a68fa0f14\"}\n[2026-05-11 10:18:10] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610490} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610490,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610490,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610490,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610490} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610490,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cf6a7852-6696-4be0-b6ae-0d2ba5896580\"}\n[2026-05-11 10:18:10] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610506} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610506,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610506,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610506,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610506} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610506,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8496279e-9085-40b8-9c1f-8b7b0844ca74\"}\n[2026-05-11 10:18:10] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:10] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610885} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:10] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610885,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610885,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610885,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610885} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610885,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"bb9bd43b-dc0f-49a3-9926-6e7b545e4484\"}\n[2026-05-11 10:18:11] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610874} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610874,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610874,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610874,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610874} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610874,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"57100b89-c0f3-48a5-aafb-af04e1e7b2a8\"}\n[2026-05-11 10:18:11] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610617} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610617,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610617,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610617,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610617} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610617,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"660593a5-69f3-4b40-a2c6-ca235b404df4\"}\n[2026-05-11 10:18:11] 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\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] 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\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] 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\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] 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\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] local.NOTICE: Monitoring start {\"correlation_id\":\"f1c8fc03-337f-4edb-a859-cd9fb18b900e\",\"trace_id\":\"503eff58-a255-4b63-9001-481d9a9bd530\"}\n[2026-05-11 10:18:11] 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\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:11] local.NOTICE: Monitoring end {\"correlation_id\":\"f1c8fc03-337f-4edb-a859-cd9fb18b900e\",\"trace_id\":\"503eff58-a255-4b63-9001-481d9a9bd530\"}\n[2026-05-11 10:18:12] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:12] 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\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:12] 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.42,\"average_seconds_per_request\":0.42} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:14] 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\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:14] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614382,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:14] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614382} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:14] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614382,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] 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\":\"cfa58e4a-596f-4cd7-923f-89852d3dd448\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] 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\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"correlation_id\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] 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\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] 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\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614381,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614381} {\"correlation_id\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614381,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] 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\":\"68a943a9-28db-4452-81a3-9bb8e3bbd404\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:15] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.55,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:18:15] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610426} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610426,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610426,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610426,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610426} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610426,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:15] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"90da6de9-ad64-4ba1-8913-870cd9008e44\"}\n[2026-05-11 10:18:16] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612560} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612560,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] 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\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] 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\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] 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\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] 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\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"447782589921@txt.staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:16] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:17] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:17] 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\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:17] 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.23,\"average_seconds_per_request\":0.23} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:17] 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\":\"4f01fa5e-5837-4b03-af04-ccad937f80f4\",\"trace_id\":\"7ea236cf-a366-4cea-8e77-3417ec22eac5\"}\n[2026-05-11 10:18:18] 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\":\"4f01fa5e-5837-4b03-af04-ccad937f80f4\",\"trace_id\":\"7ea236cf-a366-4cea-8e77-3417ec22eac5\"}\n[2026-05-11 10:18:18] 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\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612560,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612560} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612560,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] 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\":\"768d721d-1a47-4144-bc8b-43d4aad7cf7a\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610462} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610462,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610462,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610462,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610462} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610462,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"d20720d8-78ec-4300-9c6c-6e6d63dd5979\"}\n[2026-05-11 10:18:18] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612819,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] 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\":null,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":244,\"contact_id\":4487,\"owner_id\":261} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":244,\"contact_id\":4487,\"opportunity_id\":299} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] 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\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] 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\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] 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\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] 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\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"adelina.petrova@jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [Prospect match] Cache miss {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\",\"crm\":\"hubspot\"} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:18] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"domain\",\"identifier\":\"jiminny.com\"} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:19] local.INFO: [HubSpot] importAccount {\"crm_provider_id\":\"749766179\",\"config_id\":2} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:19] 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\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:19] 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.23,\"average_seconds_per_request\":0.23} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:19] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:process\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"add7477b-8e9d-44ef-9c16-cf763d7fd973\",\"trace_id\":\"0a4036d4-4c6b-4724-8efb-d8375a7dfe6a\"}\n[2026-05-11 10:18:19] local.INFO: [EmailSchedule] STARTING batch process {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"add7477b-8e9d-44ef-9c16-cf763d7fd973\",\"trace_id\":\"0a4036d4-4c6b-4724-8efb-d8375a7dfe6a\"}\n[2026-05-11 10:18:19] local.INFO: [EmailSchedule] FINISHED batch process {\"host\":\"docker_lamp_1\",\"processed\":0} {\"correlation_id\":\"add7477b-8e9d-44ef-9c16-cf763d7fd973\",\"trace_id\":\"0a4036d4-4c6b-4724-8efb-d8375a7dfe6a\"}\n[2026-05-11 10:18:19] 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\":\"add7477b-8e9d-44ef-9c16-cf763d7fd973\",\"trace_id\":\"0a4036d4-4c6b-4724-8efb-d8375a7dfe6a\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612819,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612819} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612819,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"4935e6a6-a430-454c-abfd-3ecbfe2a8093\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612847,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4487,\"account_id\":244,\"opportunity_id\":299,\"stage_id\":36}} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [MatchActivityCrmData] Participants old state {\"activity\":612847,\"participants\":[{\"id\":1000130,\"user_id\":null,\"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\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"adelina.petrova@jiminny.com\"} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"adelina.petrova@jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"robinson@crusoe.com\"} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612847,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612847} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612847,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"59a52e35-0442-4b9c-ba94-13987f6e5045\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610451} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610451,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610451,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610451} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"8852008d-42e1-4838-bf44-0fb139bad2c7\"}\n[2026-05-11 10:18:20] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612562} {\"correlation_id\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612562,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"447782589921@txt.staging.jiminny.com\"} {\"correlation_id\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"447782589921@txt.staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612562,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612562} {\"correlation_id\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612562,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"c88f4636-6a5a-42b8-8b5f-57817eb88000\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610764} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610764,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610764,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610764,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610764} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610764,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"de0766e3-67e9-4a70-ade6-579313484aab\"}\n[2026-05-11 10:18:20] 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\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"correlation_id\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614436,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614436} {\"correlation_id\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614436,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"26844961-f2c1-4818-8fbf-4e75fed45dd0\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610438} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610438,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610438,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610438,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610438} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610438,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"7d7ce093-516d-49a9-aa85-d06a603548de\"}\n[2026-05-11 10:18:20] 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\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"correlation_id\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":615092,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":615092} {\"correlation_id\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":615092,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"701da656-d862-4f53-a173-98bd0462ba59\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.23,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:18:20] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610403} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610403,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610403,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610403,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610403} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610403,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"cb6cee8f-e823-491f-a523-22966ea386a9\"}\n[2026-05-11 10:18:20] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610935} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610935,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610935,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610935} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610935,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"2882970b-de3a-4bff-8cc2-c9d0182ad10c\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610470} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610470,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] 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}]} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] Email domain belongs to the team, skipping crm lookup {\"activity_id\":610470,\"team_id\":2,\"email\":\"veselin.kulov@jiminny.onmicrosoft.com\"} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610470,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610470} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610470,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] 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} {\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\",\"correlation_id\":\"0d9cdf36-1d5a-4bbb-8f3e-5b28e82a73b2\"}\n[2026-05-11 10:18:20] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610900} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610900,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":610900,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":610900} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":610900,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":\"64a23169-398d-4b52-b6ff-2027ac5ca8f5\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":614378,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":6167,\"account_id\":null,\"opportunity_id\":null,\"stage_id\":null}} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] 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\":6167,\"lead_id\":null},{\"id\":1002625,\"user_id\":89,\"contact_id\":null,\"lead_id\":null}]} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:20] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"nikolay.nikolov@jiminny.com\"} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"nikolay.nikolov@jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"nmalchev@gmail.com\"} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":614378,\"participants_processed\":3,\"exact_matches\":1,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":614378} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":614378,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"4770fe06-51ae-468a-b56b-ba82eab8d88e\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612561} {\"correlation_id\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612561,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [Prospect match] Cache miss, calling the API {\"identifier_type\":\"email\",\"identifier\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\"} {\"correlation_id\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"447700174614.447782589921.OeREojLVnk@txt.staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612561,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612561} {\"correlation_id\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612561,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"4aabf216-0b76-4e76-968f-76cae4d9d3e7\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [MatchActivityCrmData] Starting CRM data matching {\"activity\":612336,\"remote_search\":true,\"set_configuration\":2,\"old_state\":{\"lead_id\":null,\"contact_id\":4491,\"account_id\":243,\"opportunity_id\":276,\"stage_id\":36}} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612336} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612336,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: ProspectCache - Searching DB for opportunity by owner {\"account_id\":243,\"contact_id\":4491,\"owner_id\":206} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: ProspectCache - Fallback DB opportunity search {\"account_id\":243,\"contact_id\":4491} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: ProspectCache - Opportunity DB search results {\"account_id\":243,\"contact_id\":4491,\"opportunity_id\":276} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"horencho@gmail.com\"} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":612336,\"participants_processed\":4,\"exact_matches\":1,\"domain_matches\":0,\"best_match_found\":true} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":612336} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":612336,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"9fbdbe9b-2bfb-4f6b-b8cd-2459c7919210\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":26,\"opportunity_id\":22,\"stage_id\":89}} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611451} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [SocialAccountService] Fetching token {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [SocialAccountService] Token retrieved {\"socialAccountId\":1499,\"provider\":\"hubspot\"} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {\"crm_provider\":\"hubspot\",\"crm_owner\":148,\"team_id\":2} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [Prospect match] Cache / local search hit {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {\"identifier_type\":\"email\",\"identifier\":\"support@staging.jiminny.com\"} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [Prospect match] Resolved company domain from email {\"email\":\"support@staging.jiminny.com\",\"domain\":\"jiminny.com\"} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [CrmActivityService] CRM matching completed {\"activity_id\":611451,\"participants_processed\":2,\"exact_matches\":0,\"domain_matches\":1,\"best_match_found\":true} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ EsUpdateTarget ] Update single target {\"target\":\"activities\",\"purpose\":\"searchable-observer-update\",\"entityId\":611451} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {\"entityType\":\"activities\",\"entityId\":611451,\"collectionKey\":\"activities-for-update-priority\",\"withPriority\":true} {\"correlation_id\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] 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\":\"08b7fc4c-2330-4317-a9bd-e4b8a5164358\",\"trace_id\":\"8e45b868-2eb5-42f8-a91e-22951e49d57d\"}\n[2026-05-11 10:18:21] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:monitor:count\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"5cd332f8-5b05-4813-bf28-dc3f5c776c31\",\"trace_id\":\"9d576391-5ec6-47d4-9c55-77e4dc0e5881\"}\n[2026-05-11 10:18:21] local.INFO: Running conference:monitor:count command for activities in (2026-05-11 10:16:00, 2026-05-11 10:18:00] {\"correlation_id\":\"5cd332f8-5b05-4813-bf28-dc3f5c776c31\",\"trace_id\":\"9d576391-5ec6-47d4-9c55-77e4dc0e5881\"}\n[2026-05-11 10:18:21] local.INFO: [conference:monitor:count] No activities found in (2026-05-11 10:16:00, 2026-05-11 10:18:00] {\"correlation_id\":\"5cd332f8-5b05-4813-bf28-dc3f5c776c31\",\"trace_id\":\"9d576391-5ec6-47d4-9c55-77e4dc0e5881\"}\n[2026-05-11 10:18:21] 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\":\"5cd332f8-5b05-4813-bf28-dc3f5c776c31\",\"trace_id\":\"9d576391-5ec6-47d4-9c55-77e4dc0e5881\"}\n[2026-05-11 10:18:25] 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\":\"5d165f52-8b9b-49f4-826c-5e6effb36469\",\"trace_id\":\"8d23eb87-94aa-45be-a25c-60adf651f65b\"}\n[2026-05-11 10:18:26] 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\":\"5d165f52-8b9b-49f4-826c-5e6effb36469\",\"trace_id\":\"8d23eb87-94aa-45be-a25c-60adf651f65b\"}\n[2026-05-11 10:18:26] local.INFO: [ EsUpdateProcessManager ] Finished updating entities in ES {\"worker\":\"\",\"peak_memory\":\"99.73 MB\",\"elapsed_seconds\":0.38,\"update_target\":\"activities\",\"should_iterate_again\":false} {\"correlation_id\":\"4ad05333-9afb-492e-9f0f-b2909ac45b32\",\"trace_id\":\"3d8feb24-b173-4158-b0a4-4cf33af85066\"}\n[2026-05-11 10:19:05] 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\":\"b818863b-2a43-41d9-8ff6-fee7c3d716bc\",\"trace_id\":\"247ba4af-b613-440c-94fe-1c5b9acb9a49\"}\n[2026-05-11 10:19:05] local.INFO: [ScheduleBotCommand] Number of activities to be captured: 0 {\"correlation_id\":\"b818863b-2a43-41d9-8ff6-fee7c3d716bc\",\"trace_id\":\"247ba4af-b613-440c-94fe-1c5b9acb9a49\"}\n[2026-05-11 10:19:05] 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\":\"b818863b-2a43-41d9-8ff6-fee7c3d716bc\",\"trace_id\":\"247ba4af-b613-440c-94fe-1c5b9acb9a49\"}\n[2026-05-11 10:19:07] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"dialers:monitor-activities\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"ebc86a92-142f-437d-993d-b5babcf2cc26\",\"trace_id\":\"afbbde14-96ad-42a5-a9b8-acbb3e1d637a\"}\n[2026-05-11 10:19:07] 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\":\"ebc86a92-142f-437d-993d-b5babcf2cc26\",\"trace_id\":\"afbbde14-96ad-42a5-a9b8-acbb3e1d637a\"}\n[2026-05-11 10:19:08] local.NOTICE: Monitoring start {\"correlation_id\":\"e77a8f39-a88c-4046-abe4-817093d395f4\",\"trace_id\":\"17ae50a2-26b7-48ab-a9a4-1188e484d567\"}\n[2026-05-11 10:19:08] local.NOTICE: Monitoring end {\"correlation_id\":\"e77a8f39-a88c-4046-abe4-817093d395f4\",\"trace_id\":\"17ae50a2-26b7-48ab-a9a4-1188e484d567\"}\n[2026-05-11 10:19: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\":\"82c9f998-b4ec-42a5-9114-b34b4ef4418e\",\"trace_id\":\"398aab71-a970-4adb-bfd2-e7003c988e9b\"}\n[2026-05-11 10:19: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\":\"82c9f998-b4ec-42a5-9114-b34b4ef4418e\",\"trace_id\":\"398aab71-a970-4adb-bfd2-e7003c988e9b\"}\n[2026-05-11 10:19:10] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:batch:process\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"00ff8a16-df56-4dbe-89ee-949f1fec10ae\",\"trace_id\":\"48f7dab8-39b8-47ff-badc-9e61a319de61\"}\n[2026-05-11 10:19:10] local.INFO: [EmailSchedule] STARTING batch process {\"host\":\"docker_lamp_1\"} {\"correlation_id\":\"00ff8a16-df56-4dbe-89ee-949f1fec10ae\",\"trace_id\":\"48f7dab8-39b8-47ff-badc-9e61a319de61\"}\n[2026-05-11 10:19:10] local.INFO: [EmailSchedule] FINISHED batch process {\"host\":\"docker_lamp_1\",\"processed\":0} {\"correlation_id\":\"00ff8a16-df56-4dbe-89ee-949f1fec10ae\",\"trace_id\":\"48f7dab8-39b8-47ff-badc-9e61a319de61\"}\n[2026-05-11 10:19:10] 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\":\"00ff8a16-df56-4dbe-89ee-949f1fec10ae\",\"trace_id\":\"48f7dab8-39b8-47ff-badc-9e61a319de61\"}","role_description":"text entry area","is_enabled":true,"is_focused":false,"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}]...
|
-3521216925342156230
|
2919994867551517044
|
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
3
68
3
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Services\Crm\Hubspot;
use HubSpot\Client\Crm\Deals\ApiException as DealApiException;
use HubSpot\Client\Crm\Contacts\ApiException as ContactApiException;
use HubSpot\Client\Crm\Companies\ApiException as CompanyApiException;
use HubSpot\Client\Crm\Contacts\Model\SimplePublicObjectWithAssociations as ContactsWithAssociations;
use HubSpot\Client\Crm\Companies\Model\SimplePublicObjectWithAssociations as CompaniesWithAssociations;
use HubSpot\Client\Crm\Deals\Model\SimplePublicObjectWithAssociations as DealWithAssociations;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectInput;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectWithAssociations as ObjectWithAssociations;
use HubSpot\Client\Crm\Pipelines\Model\Error;
use HubSpot\Client\Crm\Pipelines\Model\PipelineStage;
use HubSpot\Client\Crm\Properties\Model\Property;
use HubSpot\Discovery\Discovery;
use Jiminny\Exceptions\CrmException;
use Jiminny\Exceptions\RateLimitException;
use Jiminny\Exceptions\SocialAccountTokenInvalidException;
use Jiminny\Jobs\Crm\NoteObject;
use Jiminny\Models\Crm\Field;
use Jiminny\Services\Crm\BaseClient;
use Jiminny\Services\Crm\Hubspot\DTO\Response\Owner;
use Jiminny\Services\SocialAccountService;
use SevenShores\Hubspot\Exceptions\BadRequest;
use SevenShores\Hubspot\Exceptions\HubspotException;
use SevenShores\Hubspot\Factory;
use SevenShores\Hubspot\Http\Response;
use Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService;
use Illuminate\Support\Facades\Redis;
use Throwable;
/**
* @phpstan-type 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)
{
$cacheKey = $this->getRateLimitCacheKey();
$cachedRetryAfter = Redis::get($cacheKey);
if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {
throw new RateLimitException(
'Hubspot rate limit (cached circuit-breaker)',
(int) $cachedRetryAfter,
);
}
try {
return $apiCall();
} catch (Throwable $e) {
if ($this->isHubspotRateLimit($e)) {
$retryAfter = $this->parseRetryAfter($e);
Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);
$this->log->warning('[Hubspot] Received 429 from API', [
'team_id' => $this->config->team_id,
'config_id' => $this->config->getId(),
'retry_after' => $retryAfter,
'policy' => $this->parsePolicy($e),
'reason' => $e->getMessage(),
]);
throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);
}
throw $e;
}
}
private function getRateLimitCacheKey(): string
{
return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());
}
public function isHubspotRateLimit(Throwable $e): bool
{
if ($e instanceof BadRequest
|| $e instanceof DealApiException
|| $e instanceof ContactApiException
|| $e instanceof CompanyApiException
|| $e instanceof \GuzzleHttp\Exception\RequestException
) {
return (int) $e->getCode() === 429;
}
return false;
}
public function parseRetryAfter(Throwable $e): int
{
\Illuminate\Support\Facades\Log::channel('custom_channel')->info('$e ' . PHP_EOL . print_r($e, true));
return 10;
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;
}
}
$policy = $this->parsePolicy($e);
if ($policy === 'TEN_SECONDLY_ROLLING') {
return 10;
}
if ($policy === 'SECONDLY') {
return 1;
}
if ($policy === 'DAILY_LIMIT') {
return 600;
}
$this->log->warning('[Hubspot] No retry-after header or policy name found, using default', [
'exception_class' => get_class($e),
]);
return 10;
}
public function parsePolicy(Throwable $e): ?string
{
if (! method_exists($e, 'getResponseBody')) {
return null;
}
$body = $e->getResponseBody();
if (is_string($body)) {
$body = json_decode($body, true) ?? [];
}
if (! is_array($body)) {
return null;
}
$policy = $body['policyName'] ?? $body['policy'] ?? $body['context']['policyName'] ?? null;
return is_string($policy) ? strtoupper($policy) : null;
}
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
);
}
/**
* Execute a search request against HubSpot CRM objects with rate limiting.
*
* @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')
* @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.
* @return array The search response with 'results', 'total', 'paging' keys
* @throws RateLimitException When rate limit is hit
* @throws HubspotException On API errors
*/
public function search(string $objectType, array $payload): array
{
$endpoint = self::BASE_URL . "/crm/v3/objects/{$objectType}/search";
return $this->executeRequest(function () use ($endpoint, $payload) {
$response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);
return $response->toArray();
});
}
/**
* @throws DealApiException
* @throws CrmException
*/
public function getOpportunityById(string $crmId, array $fields): array
{
try {
// $deal = $this->executeRequest(fn () => $this->getNewInstance()->crm()->deals()->basicApi()->getById(
$deal = $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') {
return $this->getInstance()->getClient()?->request(
method: $method,
endpoint: $endpoint,
query_string: $queryString
);
} else {
return $this->getInstance()->getClient()->request($method, $endpoint, [
'json' => ($payload),
]);
}
}
/**
* @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 (RateLimitException $e) {
// throw $e;
} 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);
}
}
Show Replace Field
Search History
Received 429 from API
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/5
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Sync Changes
Hide This Notification
Code changed:
Hide
399
Previous Highlighted Error
Next Highlighted Error
[2026-05-11 10:17:03] 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":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:03] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":615092} {"correlation_id":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:03] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":615092,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:03] 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":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:03] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:03] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:03] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:03] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:03] local.INFO: [Prospect match] Cache miss, calling the API {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:03] 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":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:03] local.INFO: [Prospect match] API returned empty result, caching the miss with empty prospect data {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.WARNING: [Hubspot] No retry-after header or policy name found, using default {"exception_class":"SevenShores\\Hubspot\\Exceptions\\BadRequest"} {"correlation_id":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.WARNING: [Hubspot] Received 429 from API {"team_id":2,"config_id":2,"retry_after":10,"policy":null,"reason":"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\":\"019e168a-5 (truncated...)
"} {"correlation_id":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":10,"delay":14} {"correlation_id":"f0becb3b-1f4f-4fb3-a311-9056fd2ae449","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] 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":"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614436} {"correlation_id":"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614436,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] 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":"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":10,"delay":14} {"correlation_id":"858d73b2-b1ef-46ae-ba14-6ba5fb5e53ab","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] 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":"78f847cf-6495-4054-b3d4-e179a133bd42","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614382} {"correlation_id":"78f847cf-6495-4054-b3d4-e179a133bd42","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614382,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"78f847cf-6495-4054-b3d4-e179a133bd42","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] 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":"78f847cf-6495-4054-b3d4-e179a133bd42","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"78f847cf-6495-4054-b3d4-e179a133bd42","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"78f847cf-6495-4054-b3d4-e179a133bd42","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"78f847cf-6495-4054-b3d4-e179a133bd42","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"78f847cf-6495-4054-b3d4-e179a133bd42","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"78f847cf-6495-4054-b3d4-e179a133bd42","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"78f847cf-6495-4054-b3d4-e179a133bd42","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":10,"delay":11} {"correlation_id":"78f847cf-6495-4054-b3d4-e179a133bd42","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] 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":"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614381} {"correlation_id":"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614381,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] 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":"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Fetching token {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [SocialAccountService] Token retrieved {"socialAccountId":1499,"provider":"hubspot"} {"correlation_id":"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [CrmOwnerResolver] Integration owner matched as CRM Owner {"crm_provider":"hubspot","crm_owner":148,"team_id":2} {"correlation_id":"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [Prospect match] Cache / local search hit {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [Prospect match] cached empty result - no API calls, try next matching method {"identifier_type":"email","identifier":"[EMAIL]"} {"correlation_id":"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [HandleHubspotRateLimit] Rate limit caught, releasing job with delay {"job_class":"Jiminny\\Jobs\\Crm\\MatchActivityCrmData","attempts":1,"retry_after":10,"delay":11} {"correlation_id":"97d1197e-aa94-42ee-80b1-9cc6d9e96a9b","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [MatchActivityCrmData] Starting CRM data matching {"activity":614378,"remote_search":true,"set_configuration":2,"old_state":{"lead_id":null,"contact_id":6167,"account_id":null,"opportunity_id":null,"stage_id":null}} {"correlation_id":"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [ EsUpdateTarget ] Update single target {"target":"activities","purpose":"searchable-observer-update","entityId":614378} {"correlation_id":"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] local.INFO: [ AsyncUpdateElasticSearch ] Entity added to Redis list {"entityType":"activities","entityId":614378,"collectionKey":"activities-for-update-priority","withPriority":true} {"correlation_id":"2522b1c9-7751-4eb5-874a-0cacc3cf2ac5","trace_id":"8e45b868-2eb5-42f8-a91e-22951e49d57d"}
[2026-05-11 10:17:04] 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":6167,"lead_id":null},{"id":1002625,"user_id":89,"contact_id":null,"lead_id":null}]} ...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
17323
|
NULL
|
0
|
2026-05-11T10:16:37.409079+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778494597409_m2.jpg...
|
Notion Calendar
|
NULL
|
1
|
NULL
|
monitor_2
|
NULL
|
NULL
|
NULL
|
NULL
|
rostmanFavouritesjiminny(* AirDrop• RecentsA Appli rostmanFavouritesjiminny(* AirDrop• RecentsA Applications9 Documents• Downloadsii lukasIcloud• iCloud Drive992 Svnc toldeLocations0 DXP4800PLUS-B5FA49 NetworkAAр!.• Orange|• Red|• Yellow• Greer• Blue• Purple• All lags..caltVIewWindowmelpscreenpipearchive.db• #recycledb.sqlite-shmdb.sqlitevi loassync.log• screenpipe.2026-05-07.0.1ogv data•2026-05-072026-05-062026-04.292026-04-27> 2026-04-25•2026-04-24> 2026-04-22• 2026-04-232026-04-20• 2026.04.212026-04-172026-04-16• 2026-04-15• 2026-04-14screenpipe_sync_updated.sharchive.db-oak>?app• db.sqlite-walscreenpipe_sync.shann cettinas ison• screenpipe.db›_pipes*x Hubspot vYour 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 ypgrade to restore collaborationv COLLECtIONSs9: An error occurrea.> CRM Owners• CRM Pipelines› Dealsengagements>D OLD ENGAGEMENTSGET liSt meetingsPOST search modified companiesrosl search tasksGET read callGeT list callsPOST meetings scheduledGET det meetinorost det link to task› POST Create Contact with AssociationHuospotv teration run HSGET Read copyeg. An error occurred.ss. successful operationv teration run Search HSrost search contact oy emall copy> Journal & webhoooks v4› OAuth› Properties• DECCADOLSEARCHIpost search contact by phonePOST search contact by emailPOST search meetingsPOST search notes> post Search calle v2POST Search related meetinas v3PoSt coarch deals> Ticketsv Ulcofull• POST Read a batch of obiec •Run orderRun SequencePOST search contact by email copyGET engagements old associated by dealGET engagements old associated by comoanvCaMiDANMeNreSPECS>FLOWS§ Connect Git E Console E Termina• SearchGET Read CopyDeselect AllGET https:/lapi.hubapi.comSelect All Resethel# Support Daily - in 1h 44 m100% L2• Mon 11 May 13:16:370 Iteration run Search HSPOSt search contact by emaiFunctionalPerformancechoose how to run vour collection• Run manually ©• Schedule runs ©) Automate runs via CU (Run configurationiterations ©Delay ©)Tect data fileGSelect FileAdvanced Settinasv Persist responses for a session OTurn off loas durind runv Stop run if an error occursKeep variable values• Run collection without using stored cookiesSave cookies after collection run©D RunnerNo environmentGlobals Vault Tools?000...
|
NULL
|
45111875962205838
|
NULL
|
click
|
ocr
|
NULL
|
rostmanFavouritesjiminny(* AirDrop• RecentsA Appli rostmanFavouritesjiminny(* AirDrop• RecentsA Applications9 Documents• Downloadsii lukasIcloud• iCloud Drive992 Svnc toldeLocations0 DXP4800PLUS-B5FA49 NetworkAAр!.• Orange|• Red|• Yellow• Greer• Blue• Purple• All lags..caltVIewWindowmelpscreenpipearchive.db• #recycledb.sqlite-shmdb.sqlitevi loassync.log• screenpipe.2026-05-07.0.1ogv data•2026-05-072026-05-062026-04.292026-04-27> 2026-04-25•2026-04-24> 2026-04-22• 2026-04-232026-04-20• 2026.04.212026-04-172026-04-16• 2026-04-15• 2026-04-14screenpipe_sync_updated.sharchive.db-oak>?app• db.sqlite-walscreenpipe_sync.shann cettinas ison• screenpipe.db›_pipes*x Hubspot vYour 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 ypgrade to restore collaborationv COLLECtIONSs9: An error occurrea.> CRM Owners• CRM Pipelines› Dealsengagements>D OLD ENGAGEMENTSGET liSt meetingsPOST search modified companiesrosl search tasksGET read callGeT list callsPOST meetings scheduledGET det meetinorost det link to task› POST Create Contact with AssociationHuospotv teration run HSGET Read copyeg. An error occurred.ss. successful operationv teration run Search HSrost search contact oy emall copy> Journal & webhoooks v4› OAuth› Properties• DECCADOLSEARCHIpost search contact by phonePOST search contact by emailPOST search meetingsPOST search notes> post Search calle v2POST Search related meetinas v3PoSt coarch deals> Ticketsv Ulcofull• POST Read a batch of obiec •Run orderRun SequencePOST search contact by email copyGET engagements old associated by dealGET engagements old associated by comoanvCaMiDANMeNreSPECS>FLOWS§ Connect Git E Console E Termina• SearchGET Read CopyDeselect AllGET https:/lapi.hubapi.comSelect All Resethel# Support Daily - in 1h 44 m100% L2• Mon 11 May 13:16:370 Iteration run Search HSPOSt search contact by emaiFunctionalPerformancechoose how to run vour collection• Run manually ©• Schedule runs ©) Automate runs via CU (Run configurationiterations ©Delay ©)Tect data fileGSelect FileAdvanced Settinasv Persist responses for a session OTurn off loas durind runv Stop run if an error occursKeep variable values• Run collection without using stored cookiesSave cookies after collection run©D RunnerNo environmentGlobals Vault Tools?000...
|
17321
|
NULL
|
NULL
|
NULL
|
|
17322
|
NULL
|
0
|
2026-05-11T10:16:37.409067+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778494597409_m1.jpg...
|
Notion Calendar
|
NULL
|
1
|
NULL
|
monitor_1
|
NULL
|
NULL
|
NULL
|
NULL
|
iTerm2•ShellEditViewSessionScriptsProfilesWindowHe iTerm2•ShellEditViewSessionScriptsProfilesWindowHelplih§ Support Daily • in 1h 44 mDOCKER₴1DEV (docker)H82APP (-zsh)DEV (docker)X3-zshl84-zsh100%8• Mon 11 May 13:16:37181screenpipe"0 ₴6configcachecompiledeventsroutesviewsjiminny-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:stoppedjiminny-worker-processing-delayed: jiminny-worker-processing-delayed_00: stoppedworker-analytics:worker-analytics_00: stoppedworker-conferences:worker-conferences_00: stoppedworker-crm-update:worker-crm-update_00: stoppedworker-download:worker-download_00: stoppedworker-emails:worker-emails_00: stoppedworker-nudges:worker-nudges_00: stoppedworker:worker_00: stoppedworker-audio:worker-audio_00: stoppedworker-calendar:worker-calendar_00: stoppedworker-crm-sync:worker-crm-sync_00: stoppedartisan-schedule:artisan-schedule_00: stoppedworker-es-update:worker-es-update_00: stoppedjiminny-worker-processing-1:jiminny-worker-processing-1_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: debugll88510.53ms DONE128.25ms DONE1.73ms DONE1.07ms DONE1.45ms DONE5.46ms DONEDEV...
|
NULL
|
-4927428613987860520
|
NULL
|
click
|
ocr
|
NULL
|
iTerm2•ShellEditViewSessionScriptsProfilesWindowHe iTerm2•ShellEditViewSessionScriptsProfilesWindowHelplih§ Support Daily • in 1h 44 mDOCKER₴1DEV (docker)H82APP (-zsh)DEV (docker)X3-zshl84-zsh100%8• Mon 11 May 13:16:37181screenpipe"0 ₴6configcachecompiledeventsroutesviewsjiminny-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:stoppedjiminny-worker-processing-delayed: jiminny-worker-processing-delayed_00: stoppedworker-analytics:worker-analytics_00: stoppedworker-conferences:worker-conferences_00: stoppedworker-crm-update:worker-crm-update_00: stoppedworker-download:worker-download_00: stoppedworker-emails:worker-emails_00: stoppedworker-nudges:worker-nudges_00: stoppedworker:worker_00: stoppedworker-audio:worker-audio_00: stoppedworker-calendar:worker-calendar_00: stoppedworker-crm-sync:worker-crm-sync_00: stoppedartisan-schedule:artisan-schedule_00: stoppedworker-es-update:worker-es-update_00: stoppedjiminny-worker-processing-1:jiminny-worker-processing-1_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: debugll88510.53ms DONE128.25ms DONE1.73ms DONE1.07ms DONE1.45ms DONE5.46ms DONEDEV...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
17197
|
NULL
|
0
|
2026-05-11T10:11:10.315725+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778494270315_m1.jpg...
|
PhpStorm
|
faVsco.js – laravel.log
|
1
|
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");
}
}
Show Replace Field
Search History
MatchActivityCrmData
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
0 results
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Sync Changes
Hide This Notification
Code changed:
Hide
52
Previous Highlighted Error
Next Highlighted Error
[2026-05-11 10:10:24] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"activity:purge-stale","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.727} {"correlation_id":"c04fa6c3-a917-4fce-b89d-3c1af9a28511","trace_id":"c0fb05b3-40c3-4cc4-884f-c0db504b3233"}
[2026-05-11 10:10:24] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"activity:purge-stale","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.727,"memoryPeakAfterCommandInMB":99.727} {"correlation_id":"c04fa6c3-a917-4fce-b89d-3c1af9a28511","trace_id":"c0fb05b3-40c3-4cc4-884f-c0db504b3233"}
[2026-05-11 10:10:25] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"mailbox:text-relay:sync","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.727} {"correlation_id":"926d92be-5aec-4e59-b010-b472242f7b4d","trace_id":"81f90280-364b-484d-87fd-a632de4d7463"}
[2026-05-11 10:10:26] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"mailbox:text-relay:sync","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.727,"memoryPeakAfterCommandInMB":99.727} {"correlation_id":"926d92be-5aec-4e59-b010-b472242f7b4d","trace_id":"81f90280-364b-484d-87fd-a632de4d7463"}
[2026-05-11 10:10:28] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"conference:pre-meeting-notification","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.727} {"correlation_id":"ed5c669e-af91-4886-a8b4-5f9ffd9d32a5","trace_id":"719ff411-0dc0-40a6-b80c-b17dc245dafc"}
[2026-05-11 10:10:28] local.INFO: Running pre-meeting notification command {"correlation_id":"ed5c669e-af91-4886-a8b4-5f9ffd9d32a5","trace_id":"719ff411-0dc0-40a6-b80c-b17dc245dafc"}
[2026-05-11 10:10:28] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"conference:pre-meeting-notification","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.727,"memoryPeakAfterCommandInMB":99.727} {"correlation_id":"ed5c669e-af91-4886-a8b4-5f9ffd9d32a5","trace_id":"719ff411-0dc0-40a6-b80c-b17dc245dafc"}
[2026-05-11 10:10:29] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"conference:monitor:start","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.727} {"correlation_id":"d4480570-3346-4f0b-8599-497297f10cdc","trace_id":"cecfe84a-5b36-4024-a7cc-9c1126c6159d"}
[2026-05-11 10:10:29] local.INFO: Running conference:monitor:start command for activities in (2026-05-11 10:00:00, 2026-05-11 10:05:00] {"correlation_id":"d4480570-3346-4f0b-8599-497297f10cdc","trace_id":"cecfe84a-5b36-4024-a7cc-9c1126c6159d"}
[2026-05-11 10:10:29] local.INFO: [conference:monitor:start] No activities found in (2026-05-11 10:00:00, 2026-05-11 10:05:00] {"correlation_id":"d4480570-3346-4f0b-8599-497297f10cdc","trace_id":"cecfe84a-5b36-4024-a7cc-9c1126c6159d"}
[2026-05-11 10:10:29] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"conference:monitor:start","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.727,"memoryPeakAfterCommandInMB":99.727} {"correlation_id":"d4480570-3346-4f0b-8599-497297f10cdc","trace_id":"cecfe84a-5b36-4024-a7cc-9c1126c6159d"}
[2026-05-11 10:10:30] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"conference:monitor:end","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.727} {"correlation_id":"c3403c79-cb5c-4402-94d3-97fcbd80ca23","trace_id":"edf3b692-e130-4be2-bf2f-3c784f7f864d"}
[2026-05-11 10:10:30] local.INFO: conference:monitor:end:Jiminny\Console\Commands\Activities\MonitorMeetingEndCommand::logActivitiesEnded {"from":"10:05","to":"10:10"} {"correlation_id":"c3403c79-cb5c-4402-94d3-97fcbd80ca23","trace_id":"edf3b692-e130-4be2-bf2f-3c784f7f864d"}
[2026-05-11 10:10:30] local.INFO: conference:monitor:end:Jiminny\Console\Commands\Activities\MonitorMeetingEndCommand::logActivitiesWithUnfinishedSession {"from":"00:00","to":"00:05"} {"correlation_id":"c3403c79-cb5c-4402-94d3-97fcbd80ca23","trace_id":"edf3b692-e130-4be2-bf2f-3c784f7f864d"}
[2026-05-11 10:10:30] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"conference:monitor:end","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.727,"memoryPeakAfterCommandInMB":99.727} {"correlation_id":"c3403c79-cb5c-4402-94d3-97fcbd80ca23","trace_id":"edf3b692-e130-4be2-bf2f-3c784f7f864d"}
[2026-05-11 10:10:32] local.NOTICE: Repairing HubSpot tokens start {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:32] local.INFO: Trying to refresh HubSpot token {"account_id":59,"updated_at":"2025-10-03 09:32:05"} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:32] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:32] local.INFO: [SocialAccountService] Refreshing token from provider {"socialAccountId":59,"provider":"hubspot","refreshToken":"97b78f6e2cc49965c00c2492b602b02708b1392551e6b3f113fbaa48992af90b","state":"full-refresh"} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:32] local.ERROR: Failed to refresh HubSpot token {"account_id":59,"updated_at":"2025-10-03 09:32:05","reason":"missing or invalid refresh token","previous":""} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:32] local.INFO: Trying to refresh HubSpot token {"account_id":306,"updated_at":"2023-11-27 09:30:03"} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:32] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:32] local.INFO: [SocialAccountService] Refreshing token from provider {"socialAccountId":306,"provider":"hubspot","refreshToken":"6fa6aa8cc641d131231acc3470f5c03cb3b07b2e580fb18f8acb3b1dbb72549b","state":"full-refresh"} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:33] local.ERROR: Failed to refresh HubSpot token {"account_id":306,"updated_at":"2023-11-27 09:30:03","reason":"missing or invalid refresh token","previous":""} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:33] local.INFO: Trying to refresh HubSpot token {"account_id":1372,"updated_at":"2025-10-02 14:47:06"} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:33] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:33] local.INFO: [SocialAccountService] Refreshing token from provider {"socialAccountId":1372,"provider":"hubspot","refreshToken":"9aa73948c761da29dce46c177cf9aee1fde483a44169ca38723f9f0597d7a8c4","state":"full-refresh"} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:33] local.ERROR: Failed to refresh HubSpot token {"account_id":1372,"updated_at":"2025-10-02 14:47:06","reason":"missing or invalid refresh token","previous":""} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:33] local.NOTICE: Repairing HubSpot tokens end {"total":3,"fixed":0,"failed":3} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
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":"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":"Show Replace Field","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Search History","depth":3,"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"MatchActivityCrmData","depth":4,"on_screen":true,"value":"MatchActivityCrmData","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"New Line","depth":3,"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Match Case","depth":3,"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Words","depth":3,"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Regex","depth":3,"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Replace History","depth":3,"bounds":{"left":0.0,"top":0.0,"width":0.015277778,"height":0.024444444},"on_screen":false,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextField","text":"Replace","depth":4,"on_screen":false,"role_description":"text field","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"New Line","depth":3,"bounds":{"left":0.0,"top":0.0,"width":0.015277778,"height":0.024444444},"on_screen":false,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Preserve case","depth":3,"bounds":{"left":0.0,"top":0.0,"width":0.015277778,"height":0.024444444},"on_screen":false,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"0 results","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Occurrence","depth":4,"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Occurrence","depth":4,"on_screen":true,"role_description":"button","is_enabled":false,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Filter Search Results","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open in Window, Multiple Cursors","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Click to highlight","depth":4,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","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":"52","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:10:24] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"activity:purge-stale\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"c04fa6c3-a917-4fce-b89d-3c1af9a28511\",\"trace_id\":\"c0fb05b3-40c3-4cc4-884f-c0db504b3233\"}\n[2026-05-11 10:10:24] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"activity:purge-stale\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"c04fa6c3-a917-4fce-b89d-3c1af9a28511\",\"trace_id\":\"c0fb05b3-40c3-4cc4-884f-c0db504b3233\"}\n[2026-05-11 10:10:25] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:text-relay:sync\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"926d92be-5aec-4e59-b010-b472242f7b4d\",\"trace_id\":\"81f90280-364b-484d-87fd-a632de4d7463\"}\n[2026-05-11 10:10:26] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"mailbox:text-relay:sync\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"926d92be-5aec-4e59-b010-b472242f7b4d\",\"trace_id\":\"81f90280-364b-484d-87fd-a632de4d7463\"}\n[2026-05-11 10:10:28] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:pre-meeting-notification\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"ed5c669e-af91-4886-a8b4-5f9ffd9d32a5\",\"trace_id\":\"719ff411-0dc0-40a6-b80c-b17dc245dafc\"}\n[2026-05-11 10:10:28] local.INFO: Running pre-meeting notification command {\"correlation_id\":\"ed5c669e-af91-4886-a8b4-5f9ffd9d32a5\",\"trace_id\":\"719ff411-0dc0-40a6-b80c-b17dc245dafc\"}\n[2026-05-11 10:10:28] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"conference:pre-meeting-notification\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"ed5c669e-af91-4886-a8b4-5f9ffd9d32a5\",\"trace_id\":\"719ff411-0dc0-40a6-b80c-b17dc245dafc\"}\n[2026-05-11 10:10:29] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:monitor:start\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"d4480570-3346-4f0b-8599-497297f10cdc\",\"trace_id\":\"cecfe84a-5b36-4024-a7cc-9c1126c6159d\"}\n[2026-05-11 10:10:29] local.INFO: Running conference:monitor:start command for activities in (2026-05-11 10:00:00, 2026-05-11 10:05:00] {\"correlation_id\":\"d4480570-3346-4f0b-8599-497297f10cdc\",\"trace_id\":\"cecfe84a-5b36-4024-a7cc-9c1126c6159d\"}\n[2026-05-11 10:10:29] local.INFO: [conference:monitor:start] No activities found in (2026-05-11 10:00:00, 2026-05-11 10:05:00] {\"correlation_id\":\"d4480570-3346-4f0b-8599-497297f10cdc\",\"trace_id\":\"cecfe84a-5b36-4024-a7cc-9c1126c6159d\"}\n[2026-05-11 10:10:29] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"conference:monitor:start\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"d4480570-3346-4f0b-8599-497297f10cdc\",\"trace_id\":\"cecfe84a-5b36-4024-a7cc-9c1126c6159d\"}\n[2026-05-11 10:10:30] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:monitor:end\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"c3403c79-cb5c-4402-94d3-97fcbd80ca23\",\"trace_id\":\"edf3b692-e130-4be2-bf2f-3c784f7f864d\"}\n[2026-05-11 10:10:30] local.INFO: conference:monitor:end:Jiminny\\Console\\Commands\\Activities\\MonitorMeetingEndCommand::logActivitiesEnded {\"from\":\"10:05\",\"to\":\"10:10\"} {\"correlation_id\":\"c3403c79-cb5c-4402-94d3-97fcbd80ca23\",\"trace_id\":\"edf3b692-e130-4be2-bf2f-3c784f7f864d\"}\n[2026-05-11 10:10:30] local.INFO: conference:monitor:end:Jiminny\\Console\\Commands\\Activities\\MonitorMeetingEndCommand::logActivitiesWithUnfinishedSession {\"from\":\"00:00\",\"to\":\"00:05\"} {\"correlation_id\":\"c3403c79-cb5c-4402-94d3-97fcbd80ca23\",\"trace_id\":\"edf3b692-e130-4be2-bf2f-3c784f7f864d\"}\n[2026-05-11 10:10:30] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"conference:monitor:end\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"c3403c79-cb5c-4402-94d3-97fcbd80ca23\",\"trace_id\":\"edf3b692-e130-4be2-bf2f-3c784f7f864d\"}\n[2026-05-11 10:10:32] local.NOTICE: Repairing HubSpot tokens start {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:32] local.INFO: Trying to refresh HubSpot token {\"account_id\":59,\"updated_at\":\"2025-10-03 09:32:05\"} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:32] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:32] local.INFO: [SocialAccountService] Refreshing token from provider {\"socialAccountId\":59,\"provider\":\"hubspot\",\"refreshToken\":\"97b78f6e2cc49965c00c2492b602b02708b1392551e6b3f113fbaa48992af90b\",\"state\":\"full-refresh\"} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:32] local.ERROR: Failed to refresh HubSpot token {\"account_id\":59,\"updated_at\":\"2025-10-03 09:32:05\",\"reason\":\"missing or invalid refresh token\",\"previous\":\"\"} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:32] local.INFO: Trying to refresh HubSpot token {\"account_id\":306,\"updated_at\":\"2023-11-27 09:30:03\"} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:32] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:32] local.INFO: [SocialAccountService] Refreshing token from provider {\"socialAccountId\":306,\"provider\":\"hubspot\",\"refreshToken\":\"6fa6aa8cc641d131231acc3470f5c03cb3b07b2e580fb18f8acb3b1dbb72549b\",\"state\":\"full-refresh\"} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:33] local.ERROR: Failed to refresh HubSpot token {\"account_id\":306,\"updated_at\":\"2023-11-27 09:30:03\",\"reason\":\"missing or invalid refresh token\",\"previous\":\"\"} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:33] local.INFO: Trying to refresh HubSpot token {\"account_id\":1372,\"updated_at\":\"2025-10-02 14:47:06\"} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:33] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:33] local.INFO: [SocialAccountService] Refreshing token from provider {\"socialAccountId\":1372,\"provider\":\"hubspot\",\"refreshToken\":\"9aa73948c761da29dce46c177cf9aee1fde483a44169ca38723f9f0597d7a8c4\",\"state\":\"full-refresh\"} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:33] local.ERROR: Failed to refresh HubSpot token {\"account_id\":1372,\"updated_at\":\"2025-10-02 14:47:06\",\"reason\":\"missing or invalid refresh token\",\"previous\":\"\"} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:33] local.NOTICE: Repairing HubSpot tokens end {\"total\":3,\"fixed\":0,\"failed\":3} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}","depth":4,"on_screen":true,"value":"[2026-05-11 10:10:24] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"activity:purge-stale\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"c04fa6c3-a917-4fce-b89d-3c1af9a28511\",\"trace_id\":\"c0fb05b3-40c3-4cc4-884f-c0db504b3233\"}\n[2026-05-11 10:10:24] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"activity:purge-stale\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"c04fa6c3-a917-4fce-b89d-3c1af9a28511\",\"trace_id\":\"c0fb05b3-40c3-4cc4-884f-c0db504b3233\"}\n[2026-05-11 10:10:25] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:text-relay:sync\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"926d92be-5aec-4e59-b010-b472242f7b4d\",\"trace_id\":\"81f90280-364b-484d-87fd-a632de4d7463\"}\n[2026-05-11 10:10:26] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"mailbox:text-relay:sync\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"926d92be-5aec-4e59-b010-b472242f7b4d\",\"trace_id\":\"81f90280-364b-484d-87fd-a632de4d7463\"}\n[2026-05-11 10:10:28] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:pre-meeting-notification\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"ed5c669e-af91-4886-a8b4-5f9ffd9d32a5\",\"trace_id\":\"719ff411-0dc0-40a6-b80c-b17dc245dafc\"}\n[2026-05-11 10:10:28] local.INFO: Running pre-meeting notification command {\"correlation_id\":\"ed5c669e-af91-4886-a8b4-5f9ffd9d32a5\",\"trace_id\":\"719ff411-0dc0-40a6-b80c-b17dc245dafc\"}\n[2026-05-11 10:10:28] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"conference:pre-meeting-notification\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"ed5c669e-af91-4886-a8b4-5f9ffd9d32a5\",\"trace_id\":\"719ff411-0dc0-40a6-b80c-b17dc245dafc\"}\n[2026-05-11 10:10:29] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:monitor:start\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"d4480570-3346-4f0b-8599-497297f10cdc\",\"trace_id\":\"cecfe84a-5b36-4024-a7cc-9c1126c6159d\"}\n[2026-05-11 10:10:29] local.INFO: Running conference:monitor:start command for activities in (2026-05-11 10:00:00, 2026-05-11 10:05:00] {\"correlation_id\":\"d4480570-3346-4f0b-8599-497297f10cdc\",\"trace_id\":\"cecfe84a-5b36-4024-a7cc-9c1126c6159d\"}\n[2026-05-11 10:10:29] local.INFO: [conference:monitor:start] No activities found in (2026-05-11 10:00:00, 2026-05-11 10:05:00] {\"correlation_id\":\"d4480570-3346-4f0b-8599-497297f10cdc\",\"trace_id\":\"cecfe84a-5b36-4024-a7cc-9c1126c6159d\"}\n[2026-05-11 10:10:29] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"conference:monitor:start\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"d4480570-3346-4f0b-8599-497297f10cdc\",\"trace_id\":\"cecfe84a-5b36-4024-a7cc-9c1126c6159d\"}\n[2026-05-11 10:10:30] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:monitor:end\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"c3403c79-cb5c-4402-94d3-97fcbd80ca23\",\"trace_id\":\"edf3b692-e130-4be2-bf2f-3c784f7f864d\"}\n[2026-05-11 10:10:30] local.INFO: conference:monitor:end:Jiminny\\Console\\Commands\\Activities\\MonitorMeetingEndCommand::logActivitiesEnded {\"from\":\"10:05\",\"to\":\"10:10\"} {\"correlation_id\":\"c3403c79-cb5c-4402-94d3-97fcbd80ca23\",\"trace_id\":\"edf3b692-e130-4be2-bf2f-3c784f7f864d\"}\n[2026-05-11 10:10:30] local.INFO: conference:monitor:end:Jiminny\\Console\\Commands\\Activities\\MonitorMeetingEndCommand::logActivitiesWithUnfinishedSession {\"from\":\"00:00\",\"to\":\"00:05\"} {\"correlation_id\":\"c3403c79-cb5c-4402-94d3-97fcbd80ca23\",\"trace_id\":\"edf3b692-e130-4be2-bf2f-3c784f7f864d\"}\n[2026-05-11 10:10:30] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"conference:monitor:end\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"c3403c79-cb5c-4402-94d3-97fcbd80ca23\",\"trace_id\":\"edf3b692-e130-4be2-bf2f-3c784f7f864d\"}\n[2026-05-11 10:10:32] local.NOTICE: Repairing HubSpot tokens start {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:32] local.INFO: Trying to refresh HubSpot token {\"account_id\":59,\"updated_at\":\"2025-10-03 09:32:05\"} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:32] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:32] local.INFO: [SocialAccountService] Refreshing token from provider {\"socialAccountId\":59,\"provider\":\"hubspot\",\"refreshToken\":\"97b78f6e2cc49965c00c2492b602b02708b1392551e6b3f113fbaa48992af90b\",\"state\":\"full-refresh\"} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:32] local.ERROR: Failed to refresh HubSpot token {\"account_id\":59,\"updated_at\":\"2025-10-03 09:32:05\",\"reason\":\"missing or invalid refresh token\",\"previous\":\"\"} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:32] local.INFO: Trying to refresh HubSpot token {\"account_id\":306,\"updated_at\":\"2023-11-27 09:30:03\"} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:32] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:32] local.INFO: [SocialAccountService] Refreshing token from provider {\"socialAccountId\":306,\"provider\":\"hubspot\",\"refreshToken\":\"6fa6aa8cc641d131231acc3470f5c03cb3b07b2e580fb18f8acb3b1dbb72549b\",\"state\":\"full-refresh\"} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:33] local.ERROR: Failed to refresh HubSpot token {\"account_id\":306,\"updated_at\":\"2023-11-27 09:30:03\",\"reason\":\"missing or invalid refresh token\",\"previous\":\"\"} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:33] local.INFO: Trying to refresh HubSpot token {\"account_id\":1372,\"updated_at\":\"2025-10-02 14:47:06\"} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:33] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:33] local.INFO: [SocialAccountService] Refreshing token from provider {\"socialAccountId\":1372,\"provider\":\"hubspot\",\"refreshToken\":\"9aa73948c761da29dce46c177cf9aee1fde483a44169ca38723f9f0597d7a8c4\",\"state\":\"full-refresh\"} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:33] local.ERROR: Failed to refresh HubSpot token {\"account_id\":1372,\"updated_at\":\"2025-10-02 14:47:06\",\"reason\":\"missing or invalid refresh token\",\"previous\":\"\"} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:33] local.NOTICE: Repairing HubSpot tokens end {\"total\":3,\"fixed\":0,\"failed\":3} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}","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}]...
|
-487280113764070801
|
-5620128339885737589
|
idle
|
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");
}
}
Show Replace Field
Search History
MatchActivityCrmData
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
0 results
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Sync Changes
Hide This Notification
Code changed:
Hide
52
Previous Highlighted Error
Next Highlighted Error
[2026-05-11 10:10:24] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"activity:purge-stale","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.727} {"correlation_id":"c04fa6c3-a917-4fce-b89d-3c1af9a28511","trace_id":"c0fb05b3-40c3-4cc4-884f-c0db504b3233"}
[2026-05-11 10:10:24] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"activity:purge-stale","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.727,"memoryPeakAfterCommandInMB":99.727} {"correlation_id":"c04fa6c3-a917-4fce-b89d-3c1af9a28511","trace_id":"c0fb05b3-40c3-4cc4-884f-c0db504b3233"}
[2026-05-11 10:10:25] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"mailbox:text-relay:sync","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.727} {"correlation_id":"926d92be-5aec-4e59-b010-b472242f7b4d","trace_id":"81f90280-364b-484d-87fd-a632de4d7463"}
[2026-05-11 10:10:26] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"mailbox:text-relay:sync","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.727,"memoryPeakAfterCommandInMB":99.727} {"correlation_id":"926d92be-5aec-4e59-b010-b472242f7b4d","trace_id":"81f90280-364b-484d-87fd-a632de4d7463"}
[2026-05-11 10:10:28] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"conference:pre-meeting-notification","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.727} {"correlation_id":"ed5c669e-af91-4886-a8b4-5f9ffd9d32a5","trace_id":"719ff411-0dc0-40a6-b80c-b17dc245dafc"}
[2026-05-11 10:10:28] local.INFO: Running pre-meeting notification command {"correlation_id":"ed5c669e-af91-4886-a8b4-5f9ffd9d32a5","trace_id":"719ff411-0dc0-40a6-b80c-b17dc245dafc"}
[2026-05-11 10:10:28] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"conference:pre-meeting-notification","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.727,"memoryPeakAfterCommandInMB":99.727} {"correlation_id":"ed5c669e-af91-4886-a8b4-5f9ffd9d32a5","trace_id":"719ff411-0dc0-40a6-b80c-b17dc245dafc"}
[2026-05-11 10:10:29] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"conference:monitor:start","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.727} {"correlation_id":"d4480570-3346-4f0b-8599-497297f10cdc","trace_id":"cecfe84a-5b36-4024-a7cc-9c1126c6159d"}
[2026-05-11 10:10:29] local.INFO: Running conference:monitor:start command for activities in (2026-05-11 10:00:00, 2026-05-11 10:05:00] {"correlation_id":"d4480570-3346-4f0b-8599-497297f10cdc","trace_id":"cecfe84a-5b36-4024-a7cc-9c1126c6159d"}
[2026-05-11 10:10:29] local.INFO: [conference:monitor:start] No activities found in (2026-05-11 10:00:00, 2026-05-11 10:05:00] {"correlation_id":"d4480570-3346-4f0b-8599-497297f10cdc","trace_id":"cecfe84a-5b36-4024-a7cc-9c1126c6159d"}
[2026-05-11 10:10:29] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"conference:monitor:start","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.727,"memoryPeakAfterCommandInMB":99.727} {"correlation_id":"d4480570-3346-4f0b-8599-497297f10cdc","trace_id":"cecfe84a-5b36-4024-a7cc-9c1126c6159d"}
[2026-05-11 10:10:30] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"conference:monitor:end","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.727} {"correlation_id":"c3403c79-cb5c-4402-94d3-97fcbd80ca23","trace_id":"edf3b692-e130-4be2-bf2f-3c784f7f864d"}
[2026-05-11 10:10:30] local.INFO: conference:monitor:end:Jiminny\Console\Commands\Activities\MonitorMeetingEndCommand::logActivitiesEnded {"from":"10:05","to":"10:10"} {"correlation_id":"c3403c79-cb5c-4402-94d3-97fcbd80ca23","trace_id":"edf3b692-e130-4be2-bf2f-3c784f7f864d"}
[2026-05-11 10:10:30] local.INFO: conference:monitor:end:Jiminny\Console\Commands\Activities\MonitorMeetingEndCommand::logActivitiesWithUnfinishedSession {"from":"00:00","to":"00:05"} {"correlation_id":"c3403c79-cb5c-4402-94d3-97fcbd80ca23","trace_id":"edf3b692-e130-4be2-bf2f-3c784f7f864d"}
[2026-05-11 10:10:30] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"conference:monitor:end","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.727,"memoryPeakAfterCommandInMB":99.727} {"correlation_id":"c3403c79-cb5c-4402-94d3-97fcbd80ca23","trace_id":"edf3b692-e130-4be2-bf2f-3c784f7f864d"}
[2026-05-11 10:10:32] local.NOTICE: Repairing HubSpot tokens start {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:32] local.INFO: Trying to refresh HubSpot token {"account_id":59,"updated_at":"2025-10-03 09:32:05"} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:32] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:32] local.INFO: [SocialAccountService] Refreshing token from provider {"socialAccountId":59,"provider":"hubspot","refreshToken":"97b78f6e2cc49965c00c2492b602b02708b1392551e6b3f113fbaa48992af90b","state":"full-refresh"} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:32] local.ERROR: Failed to refresh HubSpot token {"account_id":59,"updated_at":"2025-10-03 09:32:05","reason":"missing or invalid refresh token","previous":""} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:32] local.INFO: Trying to refresh HubSpot token {"account_id":306,"updated_at":"2023-11-27 09:30:03"} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:32] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:32] local.INFO: [SocialAccountService] Refreshing token from provider {"socialAccountId":306,"provider":"hubspot","refreshToken":"6fa6aa8cc641d131231acc3470f5c03cb3b07b2e580fb18f8acb3b1dbb72549b","state":"full-refresh"} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:33] local.ERROR: Failed to refresh HubSpot token {"account_id":306,"updated_at":"2023-11-27 09:30:03","reason":"missing or invalid refresh token","previous":""} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:33] local.INFO: Trying to refresh HubSpot token {"account_id":1372,"updated_at":"2025-10-02 14:47:06"} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:33] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:33] local.INFO: [SocialAccountService] Refreshing token from provider {"socialAccountId":1372,"provider":"hubspot","refreshToken":"9aa73948c761da29dce46c177cf9aee1fde483a44169ca38723f9f0597d7a8c4","state":"full-refresh"} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:33] local.ERROR: Failed to refresh HubSpot token {"account_id":1372,"updated_at":"2025-10-02 14:47:06","reason":"missing or invalid refresh token","previous":""} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:33] local.NOTICE: Repairing HubSpot tokens end {"total":3,"fixed":0,"failed":3} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
17196
|
NULL
|
0
|
2026-05-11T10:11:09.765342+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778494269765_m2.jpg...
|
PhpStorm
|
faVsco.js – laravel.log
|
1
|
NULL
|
monitor_2
|
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");
}
}
Show Replace Field
Search History
MatchActivityCrmData
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
0 results
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Sync Changes
Hide This Notification
Code changed:
Hide
52
Previous Highlighted Error
Next Highlighted Error
[2026-05-11 10:10:24] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"activity:purge-stale","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.727} {"correlation_id":"c04fa6c3-a917-4fce-b89d-3c1af9a28511","trace_id":"c0fb05b3-40c3-4cc4-884f-c0db504b3233"}
[2026-05-11 10:10:24] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"activity:purge-stale","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.727,"memoryPeakAfterCommandInMB":99.727} {"correlation_id":"c04fa6c3-a917-4fce-b89d-3c1af9a28511","trace_id":"c0fb05b3-40c3-4cc4-884f-c0db504b3233"}
[2026-05-11 10:10:25] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"mailbox:text-relay:sync","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.727} {"correlation_id":"926d92be-5aec-4e59-b010-b472242f7b4d","trace_id":"81f90280-364b-484d-87fd-a632de4d7463"}
[2026-05-11 10:10:26] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"mailbox:text-relay:sync","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.727,"memoryPeakAfterCommandInMB":99.727} {"correlation_id":"926d92be-5aec-4e59-b010-b472242f7b4d","trace_id":"81f90280-364b-484d-87fd-a632de4d7463"}
[2026-05-11 10:10:28] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"conference:pre-meeting-notification","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.727} {"correlation_id":"ed5c669e-af91-4886-a8b4-5f9ffd9d32a5","trace_id":"719ff411-0dc0-40a6-b80c-b17dc245dafc"}
[2026-05-11 10:10:28] local.INFO: Running pre-meeting notification command {"correlation_id":"ed5c669e-af91-4886-a8b4-5f9ffd9d32a5","trace_id":"719ff411-0dc0-40a6-b80c-b17dc245dafc"}
[2026-05-11 10:10:28] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"conference:pre-meeting-notification","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.727,"memoryPeakAfterCommandInMB":99.727} {"correlation_id":"ed5c669e-af91-4886-a8b4-5f9ffd9d32a5","trace_id":"719ff411-0dc0-40a6-b80c-b17dc245dafc"}
[2026-05-11 10:10:29] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"conference:monitor:start","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.727} {"correlation_id":"d4480570-3346-4f0b-8599-497297f10cdc","trace_id":"cecfe84a-5b36-4024-a7cc-9c1126c6159d"}
[2026-05-11 10:10:29] local.INFO: Running conference:monitor:start command for activities in (2026-05-11 10:00:00, 2026-05-11 10:05:00] {"correlation_id":"d4480570-3346-4f0b-8599-497297f10cdc","trace_id":"cecfe84a-5b36-4024-a7cc-9c1126c6159d"}
[2026-05-11 10:10:29] local.INFO: [conference:monitor:start] No activities found in (2026-05-11 10:00:00, 2026-05-11 10:05:00] {"correlation_id":"d4480570-3346-4f0b-8599-497297f10cdc","trace_id":"cecfe84a-5b36-4024-a7cc-9c1126c6159d"}
[2026-05-11 10:10:29] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"conference:monitor:start","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.727,"memoryPeakAfterCommandInMB":99.727} {"correlation_id":"d4480570-3346-4f0b-8599-497297f10cdc","trace_id":"cecfe84a-5b36-4024-a7cc-9c1126c6159d"}
[2026-05-11 10:10:30] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"conference:monitor:end","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.727} {"correlation_id":"c3403c79-cb5c-4402-94d3-97fcbd80ca23","trace_id":"edf3b692-e130-4be2-bf2f-3c784f7f864d"}
[2026-05-11 10:10:30] local.INFO: conference:monitor:end:Jiminny\Console\Commands\Activities\MonitorMeetingEndCommand::logActivitiesEnded {"from":"10:05","to":"10:10"} {"correlation_id":"c3403c79-cb5c-4402-94d3-97fcbd80ca23","trace_id":"edf3b692-e130-4be2-bf2f-3c784f7f864d"}
[2026-05-11 10:10:30] local.INFO: conference:monitor:end:Jiminny\Console\Commands\Activities\MonitorMeetingEndCommand::logActivitiesWithUnfinishedSession {"from":"00:00","to":"00:05"} {"correlation_id":"c3403c79-cb5c-4402-94d3-97fcbd80ca23","trace_id":"edf3b692-e130-4be2-bf2f-3c784f7f864d"}
[2026-05-11 10:10:30] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"conference:monitor:end","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.727,"memoryPeakAfterCommandInMB":99.727} {"correlation_id":"c3403c79-cb5c-4402-94d3-97fcbd80ca23","trace_id":"edf3b692-e130-4be2-bf2f-3c784f7f864d"}
[2026-05-11 10:10:32] local.NOTICE: Repairing HubSpot tokens start {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:32] local.INFO: Trying to refresh HubSpot token {"account_id":59,"updated_at":"2025-10-03 09:32:05"} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:32] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:32] local.INFO: [SocialAccountService] Refreshing token from provider {"socialAccountId":59,"provider":"hubspot","refreshToken":"97b78f6e2cc49965c00c2492b602b02708b1392551e6b3f113fbaa48992af90b","state":"full-refresh"} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:32] local.ERROR: Failed to refresh HubSpot token {"account_id":59,"updated_at":"2025-10-03 09:32:05","reason":"missing or invalid refresh token","previous":""} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:32] local.INFO: Trying to refresh HubSpot token {"account_id":306,"updated_at":"2023-11-27 09:30:03"} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:32] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:32] local.INFO: [SocialAccountService] Refreshing token from provider {"socialAccountId":306,"provider":"hubspot","refreshToken":"6fa6aa8cc641d131231acc3470f5c03cb3b07b2e580fb18f8acb3b1dbb72549b","state":"full-refresh"} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:33] local.ERROR: Failed to refresh HubSpot token {"account_id":306,"updated_at":"2023-11-27 09:30:03","reason":"missing or invalid refresh token","previous":""} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:33] local.INFO: Trying to refresh HubSpot token {"account_id":1372,"updated_at":"2025-10-02 14:47:06"} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:33] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:33] local.INFO: [SocialAccountService] Refreshing token from provider {"socialAccountId":1372,"provider":"hubspot","refreshToken":"9aa73948c761da29dce46c177cf9aee1fde483a44169ca38723f9f0597d7a8c4","state":"full-refresh"} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:33] local.ERROR: Failed to refresh HubSpot token {"account_id":1372,"updated_at":"2025-10-02 14:47:06","reason":"missing or invalid refresh token","previous":""} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:33] local.NOTICE: Repairing HubSpot tokens end {"total":3,"fixed":0,"failed":3} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}...
|
[{"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":"JY-20725-handle-HS-search-rate-limit, menu","depth":5,"bounds":{"left":0.064494684,"top":0.019952115,"width":0.09541223,"height":0.025538707},"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,"bounds":{"left":0.82413566,"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":"HandleHubspotRateLimitTest","depth":6,"bounds":{"left":0.8394282,"top":0.019952115,"width":0.076130316,"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 'HandleHubspotRateLimitTest'","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 'HandleHubspotRateLimitTest'","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":"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":"5","depth":4,"bounds":{"left":0.54886967,"top":0.17478053,"width":0.007978723,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"133","depth":4,"bounds":{"left":0.5588431,"top":0.17478053,"width":0.011968086,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"11","depth":4,"bounds":{"left":0.5728058,"top":0.17478053,"width":0.008976064,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.5834442,"top":0.17318435,"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.59075797,"top":0.17318435,"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":"<?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":"Show Replace Field","depth":4,"bounds":{"left":0.60206115,"top":0.08060654,"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":"AXCheckBox","text":"Search History","depth":3,"bounds":{"left":0.6146942,"top":0.07980846,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"MatchActivityCrmData","depth":4,"bounds":{"left":0.6256649,"top":0.07980846,"width":0.0631649,"height":0.015961692},"on_screen":true,"value":"MatchActivityCrmData","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"New Line","depth":3,"bounds":{"left":0.6978058,"top":0.07980846,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Match Case","depth":3,"bounds":{"left":0.7077792,"top":0.07980846,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Words","depth":3,"bounds":{"left":0.71642286,"top":0.07980846,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Regex","depth":3,"bounds":{"left":0.7250665,"top":0.07980846,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Replace History","depth":3,"bounds":{"left":0.27027926,"top":1.0,"width":0.00731383,"height":0.0},"on_screen":false,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextField","text":"Replace","depth":4,"on_screen":false,"role_description":"text field","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"New Line","depth":3,"bounds":{"left":0.27027926,"top":1.0,"width":0.00731383,"height":0.0},"on_screen":false,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Preserve case","depth":3,"bounds":{"left":0.27027926,"top":1.0,"width":0.00731383,"height":0.0},"on_screen":false,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"0 results","depth":4,"bounds":{"left":0.7386968,"top":0.079010375,"width":0.025598405,"height":0.017557861},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Occurrence","depth":4,"bounds":{"left":0.7642952,"top":0.07821229,"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":"Next Occurrence","depth":4,"bounds":{"left":0.77293885,"top":0.07821229,"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":"Filter Search Results","depth":4,"bounds":{"left":0.7815825,"top":0.07821229,"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 in Window, Multiple Cursors","depth":4,"bounds":{"left":0.79022604,"top":0.07821229,"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":"AXLink","text":"Click to highlight","depth":4,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":4,"bounds":{"left":0.97539896,"top":0.07821229,"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":"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":"52","depth":4,"bounds":{"left":0.9624335,"top":0.10933759,"width":0.009973404,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.9740692,"top":0.10774142,"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.98138297,"top":0.10774142,"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":"[2026-05-11 10:10:24] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"activity:purge-stale\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"c04fa6c3-a917-4fce-b89d-3c1af9a28511\",\"trace_id\":\"c0fb05b3-40c3-4cc4-884f-c0db504b3233\"}\n[2026-05-11 10:10:24] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"activity:purge-stale\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"c04fa6c3-a917-4fce-b89d-3c1af9a28511\",\"trace_id\":\"c0fb05b3-40c3-4cc4-884f-c0db504b3233\"}\n[2026-05-11 10:10:25] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:text-relay:sync\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"926d92be-5aec-4e59-b010-b472242f7b4d\",\"trace_id\":\"81f90280-364b-484d-87fd-a632de4d7463\"}\n[2026-05-11 10:10:26] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"mailbox:text-relay:sync\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"926d92be-5aec-4e59-b010-b472242f7b4d\",\"trace_id\":\"81f90280-364b-484d-87fd-a632de4d7463\"}\n[2026-05-11 10:10:28] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:pre-meeting-notification\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"ed5c669e-af91-4886-a8b4-5f9ffd9d32a5\",\"trace_id\":\"719ff411-0dc0-40a6-b80c-b17dc245dafc\"}\n[2026-05-11 10:10:28] local.INFO: Running pre-meeting notification command {\"correlation_id\":\"ed5c669e-af91-4886-a8b4-5f9ffd9d32a5\",\"trace_id\":\"719ff411-0dc0-40a6-b80c-b17dc245dafc\"}\n[2026-05-11 10:10:28] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"conference:pre-meeting-notification\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"ed5c669e-af91-4886-a8b4-5f9ffd9d32a5\",\"trace_id\":\"719ff411-0dc0-40a6-b80c-b17dc245dafc\"}\n[2026-05-11 10:10:29] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:monitor:start\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"d4480570-3346-4f0b-8599-497297f10cdc\",\"trace_id\":\"cecfe84a-5b36-4024-a7cc-9c1126c6159d\"}\n[2026-05-11 10:10:29] local.INFO: Running conference:monitor:start command for activities in (2026-05-11 10:00:00, 2026-05-11 10:05:00] {\"correlation_id\":\"d4480570-3346-4f0b-8599-497297f10cdc\",\"trace_id\":\"cecfe84a-5b36-4024-a7cc-9c1126c6159d\"}\n[2026-05-11 10:10:29] local.INFO: [conference:monitor:start] No activities found in (2026-05-11 10:00:00, 2026-05-11 10:05:00] {\"correlation_id\":\"d4480570-3346-4f0b-8599-497297f10cdc\",\"trace_id\":\"cecfe84a-5b36-4024-a7cc-9c1126c6159d\"}\n[2026-05-11 10:10:29] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"conference:monitor:start\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"d4480570-3346-4f0b-8599-497297f10cdc\",\"trace_id\":\"cecfe84a-5b36-4024-a7cc-9c1126c6159d\"}\n[2026-05-11 10:10:30] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:monitor:end\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"c3403c79-cb5c-4402-94d3-97fcbd80ca23\",\"trace_id\":\"edf3b692-e130-4be2-bf2f-3c784f7f864d\"}\n[2026-05-11 10:10:30] local.INFO: conference:monitor:end:Jiminny\\Console\\Commands\\Activities\\MonitorMeetingEndCommand::logActivitiesEnded {\"from\":\"10:05\",\"to\":\"10:10\"} {\"correlation_id\":\"c3403c79-cb5c-4402-94d3-97fcbd80ca23\",\"trace_id\":\"edf3b692-e130-4be2-bf2f-3c784f7f864d\"}\n[2026-05-11 10:10:30] local.INFO: conference:monitor:end:Jiminny\\Console\\Commands\\Activities\\MonitorMeetingEndCommand::logActivitiesWithUnfinishedSession {\"from\":\"00:00\",\"to\":\"00:05\"} {\"correlation_id\":\"c3403c79-cb5c-4402-94d3-97fcbd80ca23\",\"trace_id\":\"edf3b692-e130-4be2-bf2f-3c784f7f864d\"}\n[2026-05-11 10:10:30] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"conference:monitor:end\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"c3403c79-cb5c-4402-94d3-97fcbd80ca23\",\"trace_id\":\"edf3b692-e130-4be2-bf2f-3c784f7f864d\"}\n[2026-05-11 10:10:32] local.NOTICE: Repairing HubSpot tokens start {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:32] local.INFO: Trying to refresh HubSpot token {\"account_id\":59,\"updated_at\":\"2025-10-03 09:32:05\"} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:32] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:32] local.INFO: [SocialAccountService] Refreshing token from provider {\"socialAccountId\":59,\"provider\":\"hubspot\",\"refreshToken\":\"97b78f6e2cc49965c00c2492b602b02708b1392551e6b3f113fbaa48992af90b\",\"state\":\"full-refresh\"} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:32] local.ERROR: Failed to refresh HubSpot token {\"account_id\":59,\"updated_at\":\"2025-10-03 09:32:05\",\"reason\":\"missing or invalid refresh token\",\"previous\":\"\"} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:32] local.INFO: Trying to refresh HubSpot token {\"account_id\":306,\"updated_at\":\"2023-11-27 09:30:03\"} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:32] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:32] local.INFO: [SocialAccountService] Refreshing token from provider {\"socialAccountId\":306,\"provider\":\"hubspot\",\"refreshToken\":\"6fa6aa8cc641d131231acc3470f5c03cb3b07b2e580fb18f8acb3b1dbb72549b\",\"state\":\"full-refresh\"} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:33] local.ERROR: Failed to refresh HubSpot token {\"account_id\":306,\"updated_at\":\"2023-11-27 09:30:03\",\"reason\":\"missing or invalid refresh token\",\"previous\":\"\"} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:33] local.INFO: Trying to refresh HubSpot token {\"account_id\":1372,\"updated_at\":\"2025-10-02 14:47:06\"} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:33] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:33] local.INFO: [SocialAccountService] Refreshing token from provider {\"socialAccountId\":1372,\"provider\":\"hubspot\",\"refreshToken\":\"9aa73948c761da29dce46c177cf9aee1fde483a44169ca38723f9f0597d7a8c4\",\"state\":\"full-refresh\"} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:33] local.ERROR: Failed to refresh HubSpot token {\"account_id\":1372,\"updated_at\":\"2025-10-02 14:47:06\",\"reason\":\"missing or invalid refresh token\",\"previous\":\"\"} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:33] local.NOTICE: Repairing HubSpot tokens end {\"total\":3,\"fixed\":0,\"failed\":3} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}","depth":4,"bounds":{"left":0.61702126,"top":0.10614525,"width":0.38297874,"height":0.8731046},"on_screen":true,"value":"[2026-05-11 10:10:24] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"activity:purge-stale\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"c04fa6c3-a917-4fce-b89d-3c1af9a28511\",\"trace_id\":\"c0fb05b3-40c3-4cc4-884f-c0db504b3233\"}\n[2026-05-11 10:10:24] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"activity:purge-stale\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"c04fa6c3-a917-4fce-b89d-3c1af9a28511\",\"trace_id\":\"c0fb05b3-40c3-4cc4-884f-c0db504b3233\"}\n[2026-05-11 10:10:25] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"mailbox:text-relay:sync\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"926d92be-5aec-4e59-b010-b472242f7b4d\",\"trace_id\":\"81f90280-364b-484d-87fd-a632de4d7463\"}\n[2026-05-11 10:10:26] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"mailbox:text-relay:sync\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"926d92be-5aec-4e59-b010-b472242f7b4d\",\"trace_id\":\"81f90280-364b-484d-87fd-a632de4d7463\"}\n[2026-05-11 10:10:28] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:pre-meeting-notification\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"ed5c669e-af91-4886-a8b4-5f9ffd9d32a5\",\"trace_id\":\"719ff411-0dc0-40a6-b80c-b17dc245dafc\"}\n[2026-05-11 10:10:28] local.INFO: Running pre-meeting notification command {\"correlation_id\":\"ed5c669e-af91-4886-a8b4-5f9ffd9d32a5\",\"trace_id\":\"719ff411-0dc0-40a6-b80c-b17dc245dafc\"}\n[2026-05-11 10:10:28] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"conference:pre-meeting-notification\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"ed5c669e-af91-4886-a8b4-5f9ffd9d32a5\",\"trace_id\":\"719ff411-0dc0-40a6-b80c-b17dc245dafc\"}\n[2026-05-11 10:10:29] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:monitor:start\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"d4480570-3346-4f0b-8599-497297f10cdc\",\"trace_id\":\"cecfe84a-5b36-4024-a7cc-9c1126c6159d\"}\n[2026-05-11 10:10:29] local.INFO: Running conference:monitor:start command for activities in (2026-05-11 10:00:00, 2026-05-11 10:05:00] {\"correlation_id\":\"d4480570-3346-4f0b-8599-497297f10cdc\",\"trace_id\":\"cecfe84a-5b36-4024-a7cc-9c1126c6159d\"}\n[2026-05-11 10:10:29] local.INFO: [conference:monitor:start] No activities found in (2026-05-11 10:00:00, 2026-05-11 10:05:00] {\"correlation_id\":\"d4480570-3346-4f0b-8599-497297f10cdc\",\"trace_id\":\"cecfe84a-5b36-4024-a7cc-9c1126c6159d\"}\n[2026-05-11 10:10:29] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"conference:monitor:start\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"d4480570-3346-4f0b-8599-497297f10cdc\",\"trace_id\":\"cecfe84a-5b36-4024-a7cc-9c1126c6159d\"}\n[2026-05-11 10:10:30] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage before starting command {\"command\":\"conference:monitor:end\",\"memoryBeforeCommandInMb\":60.0,\"memoryPeakBeforeCommandInMb\":99.727} {\"correlation_id\":\"c3403c79-cb5c-4402-94d3-97fcbd80ca23\",\"trace_id\":\"edf3b692-e130-4be2-bf2f-3c784f7f864d\"}\n[2026-05-11 10:10:30] local.INFO: conference:monitor:end:Jiminny\\Console\\Commands\\Activities\\MonitorMeetingEndCommand::logActivitiesEnded {\"from\":\"10:05\",\"to\":\"10:10\"} {\"correlation_id\":\"c3403c79-cb5c-4402-94d3-97fcbd80ca23\",\"trace_id\":\"edf3b692-e130-4be2-bf2f-3c784f7f864d\"}\n[2026-05-11 10:10:30] local.INFO: conference:monitor:end:Jiminny\\Console\\Commands\\Activities\\MonitorMeetingEndCommand::logActivitiesWithUnfinishedSession {\"from\":\"00:00\",\"to\":\"00:05\"} {\"correlation_id\":\"c3403c79-cb5c-4402-94d3-97fcbd80ca23\",\"trace_id\":\"edf3b692-e130-4be2-bf2f-3c784f7f864d\"}\n[2026-05-11 10:10:30] local.INFO: Jiminny\\Console\\Commands\\Command::run Memory usage for command {\"command\":\"conference:monitor:end\",\"memoryBeforeCommandInMb\":60.0,\"memoryAfterCommandInMB\":60.0,\"memoryPeakBeforeCommandInMb\":99.727,\"memoryPeakAfterCommandInMB\":99.727} {\"correlation_id\":\"c3403c79-cb5c-4402-94d3-97fcbd80ca23\",\"trace_id\":\"edf3b692-e130-4be2-bf2f-3c784f7f864d\"}\n[2026-05-11 10:10:32] local.NOTICE: Repairing HubSpot tokens start {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:32] local.INFO: Trying to refresh HubSpot token {\"account_id\":59,\"updated_at\":\"2025-10-03 09:32:05\"} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:32] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:32] local.INFO: [SocialAccountService] Refreshing token from provider {\"socialAccountId\":59,\"provider\":\"hubspot\",\"refreshToken\":\"97b78f6e2cc49965c00c2492b602b02708b1392551e6b3f113fbaa48992af90b\",\"state\":\"full-refresh\"} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:32] local.ERROR: Failed to refresh HubSpot token {\"account_id\":59,\"updated_at\":\"2025-10-03 09:32:05\",\"reason\":\"missing or invalid refresh token\",\"previous\":\"\"} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:32] local.INFO: Trying to refresh HubSpot token {\"account_id\":306,\"updated_at\":\"2023-11-27 09:30:03\"} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:32] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:32] local.INFO: [SocialAccountService] Refreshing token from provider {\"socialAccountId\":306,\"provider\":\"hubspot\",\"refreshToken\":\"6fa6aa8cc641d131231acc3470f5c03cb3b07b2e580fb18f8acb3b1dbb72549b\",\"state\":\"full-refresh\"} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:33] local.ERROR: Failed to refresh HubSpot token {\"account_id\":306,\"updated_at\":\"2023-11-27 09:30:03\",\"reason\":\"missing or invalid refresh token\",\"previous\":\"\"} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:33] local.INFO: Trying to refresh HubSpot token {\"account_id\":1372,\"updated_at\":\"2025-10-02 14:47:06\"} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:33] local.INFO: [EncryptedTokenManager] Generating access token. {\"mode\":\"legacy\"} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:33] local.INFO: [SocialAccountService] Refreshing token from provider {\"socialAccountId\":1372,\"provider\":\"hubspot\",\"refreshToken\":\"9aa73948c761da29dce46c177cf9aee1fde483a44169ca38723f9f0597d7a8c4\",\"state\":\"full-refresh\"} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:33] local.ERROR: Failed to refresh HubSpot token {\"account_id\":1372,\"updated_at\":\"2025-10-02 14:47:06\",\"reason\":\"missing or invalid refresh token\",\"previous\":\"\"} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}\n[2026-05-11 10:10:33] local.NOTICE: Repairing HubSpot tokens end {\"total\":3,\"fixed\":0,\"failed\":3} {\"correlation_id\":\"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e\",\"trace_id\":\"7eef381a-721d-4d2a-9f57-a1dc2c256af5\"}","role_description":"text entry area","is_enabled":true,"is_focused":true,"is_selected":false,"is_expanded":false}]...
|
-3462031966397844379
|
-5620128374245475957
|
idle
|
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");
}
}
Show Replace Field
Search History
MatchActivityCrmData
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
0 results
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Sync Changes
Hide This Notification
Code changed:
Hide
52
Previous Highlighted Error
Next Highlighted Error
[2026-05-11 10:10:24] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"activity:purge-stale","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.727} {"correlation_id":"c04fa6c3-a917-4fce-b89d-3c1af9a28511","trace_id":"c0fb05b3-40c3-4cc4-884f-c0db504b3233"}
[2026-05-11 10:10:24] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"activity:purge-stale","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.727,"memoryPeakAfterCommandInMB":99.727} {"correlation_id":"c04fa6c3-a917-4fce-b89d-3c1af9a28511","trace_id":"c0fb05b3-40c3-4cc4-884f-c0db504b3233"}
[2026-05-11 10:10:25] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"mailbox:text-relay:sync","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.727} {"correlation_id":"926d92be-5aec-4e59-b010-b472242f7b4d","trace_id":"81f90280-364b-484d-87fd-a632de4d7463"}
[2026-05-11 10:10:26] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"mailbox:text-relay:sync","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.727,"memoryPeakAfterCommandInMB":99.727} {"correlation_id":"926d92be-5aec-4e59-b010-b472242f7b4d","trace_id":"81f90280-364b-484d-87fd-a632de4d7463"}
[2026-05-11 10:10:28] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"conference:pre-meeting-notification","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.727} {"correlation_id":"ed5c669e-af91-4886-a8b4-5f9ffd9d32a5","trace_id":"719ff411-0dc0-40a6-b80c-b17dc245dafc"}
[2026-05-11 10:10:28] local.INFO: Running pre-meeting notification command {"correlation_id":"ed5c669e-af91-4886-a8b4-5f9ffd9d32a5","trace_id":"719ff411-0dc0-40a6-b80c-b17dc245dafc"}
[2026-05-11 10:10:28] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"conference:pre-meeting-notification","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.727,"memoryPeakAfterCommandInMB":99.727} {"correlation_id":"ed5c669e-af91-4886-a8b4-5f9ffd9d32a5","trace_id":"719ff411-0dc0-40a6-b80c-b17dc245dafc"}
[2026-05-11 10:10:29] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"conference:monitor:start","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.727} {"correlation_id":"d4480570-3346-4f0b-8599-497297f10cdc","trace_id":"cecfe84a-5b36-4024-a7cc-9c1126c6159d"}
[2026-05-11 10:10:29] local.INFO: Running conference:monitor:start command for activities in (2026-05-11 10:00:00, 2026-05-11 10:05:00] {"correlation_id":"d4480570-3346-4f0b-8599-497297f10cdc","trace_id":"cecfe84a-5b36-4024-a7cc-9c1126c6159d"}
[2026-05-11 10:10:29] local.INFO: [conference:monitor:start] No activities found in (2026-05-11 10:00:00, 2026-05-11 10:05:00] {"correlation_id":"d4480570-3346-4f0b-8599-497297f10cdc","trace_id":"cecfe84a-5b36-4024-a7cc-9c1126c6159d"}
[2026-05-11 10:10:29] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"conference:monitor:start","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.727,"memoryPeakAfterCommandInMB":99.727} {"correlation_id":"d4480570-3346-4f0b-8599-497297f10cdc","trace_id":"cecfe84a-5b36-4024-a7cc-9c1126c6159d"}
[2026-05-11 10:10:30] local.INFO: Jiminny\Console\Commands\Command::run Memory usage before starting command {"command":"conference:monitor:end","memoryBeforeCommandInMb":60.0,"memoryPeakBeforeCommandInMb":99.727} {"correlation_id":"c3403c79-cb5c-4402-94d3-97fcbd80ca23","trace_id":"edf3b692-e130-4be2-bf2f-3c784f7f864d"}
[2026-05-11 10:10:30] local.INFO: conference:monitor:end:Jiminny\Console\Commands\Activities\MonitorMeetingEndCommand::logActivitiesEnded {"from":"10:05","to":"10:10"} {"correlation_id":"c3403c79-cb5c-4402-94d3-97fcbd80ca23","trace_id":"edf3b692-e130-4be2-bf2f-3c784f7f864d"}
[2026-05-11 10:10:30] local.INFO: conference:monitor:end:Jiminny\Console\Commands\Activities\MonitorMeetingEndCommand::logActivitiesWithUnfinishedSession {"from":"00:00","to":"00:05"} {"correlation_id":"c3403c79-cb5c-4402-94d3-97fcbd80ca23","trace_id":"edf3b692-e130-4be2-bf2f-3c784f7f864d"}
[2026-05-11 10:10:30] local.INFO: Jiminny\Console\Commands\Command::run Memory usage for command {"command":"conference:monitor:end","memoryBeforeCommandInMb":60.0,"memoryAfterCommandInMB":60.0,"memoryPeakBeforeCommandInMb":99.727,"memoryPeakAfterCommandInMB":99.727} {"correlation_id":"c3403c79-cb5c-4402-94d3-97fcbd80ca23","trace_id":"edf3b692-e130-4be2-bf2f-3c784f7f864d"}
[2026-05-11 10:10:32] local.NOTICE: Repairing HubSpot tokens start {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:32] local.INFO: Trying to refresh HubSpot token {"account_id":59,"updated_at":"2025-10-03 09:32:05"} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:32] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:32] local.INFO: [SocialAccountService] Refreshing token from provider {"socialAccountId":59,"provider":"hubspot","refreshToken":"97b78f6e2cc49965c00c2492b602b02708b1392551e6b3f113fbaa48992af90b","state":"full-refresh"} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:32] local.ERROR: Failed to refresh HubSpot token {"account_id":59,"updated_at":"2025-10-03 09:32:05","reason":"missing or invalid refresh token","previous":""} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:32] local.INFO: Trying to refresh HubSpot token {"account_id":306,"updated_at":"2023-11-27 09:30:03"} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:32] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:32] local.INFO: [SocialAccountService] Refreshing token from provider {"socialAccountId":306,"provider":"hubspot","refreshToken":"6fa6aa8cc641d131231acc3470f5c03cb3b07b2e580fb18f8acb3b1dbb72549b","state":"full-refresh"} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:33] local.ERROR: Failed to refresh HubSpot token {"account_id":306,"updated_at":"2023-11-27 09:30:03","reason":"missing or invalid refresh token","previous":""} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:33] local.INFO: Trying to refresh HubSpot token {"account_id":1372,"updated_at":"2025-10-02 14:47:06"} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:33] local.INFO: [EncryptedTokenManager] Generating access token. {"mode":"legacy"} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:33] local.INFO: [SocialAccountService] Refreshing token from provider {"socialAccountId":1372,"provider":"hubspot","refreshToken":"9aa73948c761da29dce46c177cf9aee1fde483a44169ca38723f9f0597d7a8c4","state":"full-refresh"} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:33] local.ERROR: Failed to refresh HubSpot token {"account_id":1372,"updated_at":"2025-10-02 14:47:06","reason":"missing or invalid refresh token","previous":""} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}
[2026-05-11 10:10:33] local.NOTICE: Repairing HubSpot tokens end {"total":3,"fixed":0,"failed":3} {"correlation_id":"afcf7ed2-9b29-4c5a-ad3f-1048afae1f7e","trace_id":"7eef381a-721d-4d2a-9f57-a1dc2c256af5"}...
|
17194
|
NULL
|
NULL
|
NULL
|
|
17126
|
NULL
|
0
|
2026-05-11T10:06:15.477692+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778493975477_m1.jpg...
|
iTerm2
|
DEV (docker)
|
1
|
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# php artisan jiminny:debug
Matching contact 0
TypeError
Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService::getPaginatedDataGenerator(): Return value must be of type Generator, none returned
at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:83
79▕
80▕ // Update reference parameters
81▕ $total = $state->total;
82▕ $lastRecordId = $state->lastRecordId;
➜ 83▕ }
84▕
85▕ private function shouldStopPagination(PaginationState $state, int $teamId): bool
86▕ {
87▕ if ($state->hasReachedSafetyLimit()) {
1 app/Services/Crm/Hubspot/Client.php:195
Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService::getPaginatedDataGenerator(Object(Jiminny\Services\Crm\Hubspot\Client), [], "contact")
2 app/Services/Crm/Hubspot/Client.php:176
Jiminny\Services\Crm\Hubspot\Client::getPaginatedDataGenerator([], "contact")
root@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 14.73ms DONE
cache [PASSWORD_DOTS] 19.13ms DONE
compiled [PASSWORD_DOTS] 4.93ms DONE
events [PASSWORD_DOTS] 3.02ms DONE
routes [PASSWORD_DOTS] 5.55ms DONE
views [PASSWORD_DOTS] 6.02ms 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
worker-conferences:worker-conferences_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-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
Jiminny\Exceptions\RateLimitException
Hubspot returned 429
at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:206
202▕ 'retry_after' => $retryAfter,
203▕ 'reason' => $e->getMessage(),
204▕ ]);
205▕
➜ 206▕ throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);
207▕ } else {
208▕ throw $e;
209▕ }
210▕ }
+14 vendor frames
15 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:166
SevenShores\Hubspot\Http\Client::request("POST", "[URL_WITH_CREDENTIALS] php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 4.47ms DONE
cache [PASSWORD_DOTS] 16.66ms DONE
compiled [PASSWORD_DOTS] 3.26ms DONE
events [PASSWORD_DOTS] 3.99ms DONE
routes [PASSWORD_DOTS] 3.85ms DONE
views [PASSWORD_DOTS] 4.93ms 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
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
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] 14.42ms DONE
cache [PASSWORD_DOTS] 23.70ms DONE
compiled [PASSWORD_DOTS] 3.46ms DONE
events [PASSWORD_DOTS] 4.30ms DONE
routes [PASSWORD_DOTS] 8.35ms DONE
views [PASSWORD_DOTS] 8.00ms DONE
jiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped
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
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-conferences:worker-conferences_00: stopped
worker-crm-sync:worker-crm-sync_00: stopped
worker-emails:worker-emails_00: stopped
worker-calendar:worker-calendar_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 jiminny:debug
Matching contact 0
Jiminny\Exceptions\RateLimitException
Hubspot returned 429
at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:206
202▕ 'retry_after' => $retryAfter,
203▕ 'reason' => $e->getMessage(),
204▕ ]);
205▕
➜ 206▕ throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);
207▕ } else {
208▕ throw $e;
209▕ }
210▕ }
+14 vendor frames
15 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:166
SevenShores\Hubspot\Http\Client::request("POST", "[URL_WITH_CREDENTIALS] php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 6.77ms DONE
cache [PASSWORD_DOTS] 25.55ms DONE
compiled [PASSWORD_DOTS] 3.87ms DONE
events [PASSWORD_DOTS] 4.96ms DONE
routes [PASSWORD_DOTS] 2.23ms DONE
views [PASSWORD_DOTS] 7.50ms 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-conferences:worker-conferences_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-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
root@docker_lamp_1:/home/jiminny#
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug 007d5da3af66
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch JY-20725-handle-HS-search-rate-limit
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: app/Jobs/Middleware/HandleHubspotRateLimit.php
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Exceptions/RateLimitException.php
modified: app/Jobs/Activity/Import/MatchCrmData.php
modified: app/Jobs/Crm/MatchActivityCrmData.php
modified: app/Services/Crm/Hubspot/Client.php
modified: app/Services/Crm/Hubspot/HubspotClientInterface.php
modified: app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php
modified: app/Services/Crm/Hubspot/Pagination/PaginationState.php
modified: app/Services/Crm/Hubspot/Service.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.local.bak
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Policies/CanAccessAiReportsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ gbr
* JY-20725-handle-HS-search-rate-limit
master
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
JY-20160
JY-20145-filter-out-converted-leads-when-matching
JY-20150-skip-push-summary-on-summary-ready-if-autolog
JY-20132-fix-note-encoding
JY-19792-clean-logs
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ dev
root@docker_lamp_1:/home/jiminny#
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
⌥⌘1
DEV (docker)...
|
[{"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# php artisan jiminny:debug\nMatching contact 0\n\n TypeError \n\n Jiminny\\Services\\Crm\\Hubspot\\Pagination\\HubspotPaginationService::getPaginatedDataGenerator(): Return value must be of type Generator, none returned\n\n at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:83\n 79▕ \n 80▕ // Update reference parameters\n 81▕ $total = $state->total;\n 82▕ $lastRecordId = $state->lastRecordId;\n ➜ 83▕ }\n 84▕ \n 85▕ private function shouldStopPagination(PaginationState $state, int $teamId): bool\n 86▕ {\n 87▕ if ($state->hasReachedSafetyLimit()) {\n\n 1 app/Services/Crm/Hubspot/Client.php:195\n Jiminny\\Services\\Crm\\Hubspot\\Pagination\\HubspotPaginationService::getPaginatedDataGenerator(Object(Jiminny\\Services\\Crm\\Hubspot\\Client), [], \"contact\")\n\n 2 app/Services/Crm/Hubspot/Client.php:176\n Jiminny\\Services\\Crm\\Hubspot\\Client::getPaginatedDataGenerator([], \"contact\")\n\nroot@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all\n\n INFO Clearing cached bootstrap files. \n\n config .............................................................................................................................. 14.73ms DONE\n cache ............................................................................................................................... 19.13ms DONE\n compiled ............................................................................................................................. 4.93ms DONE\n events ............................................................................................................................... 3.02ms DONE\n routes ............................................................................................................................... 5.55ms DONE\n views ................................................................................................................................ 6.02ms 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\nworker-conferences:worker-conferences_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-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\n\n Jiminny\\Exceptions\\RateLimitException \n\n Hubspot returned 429\n\n at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:206\n 202▕ 'retry_after' => $retryAfter,\n 203▕ 'reason' => $e->getMessage(),\n 204▕ ]);\n 205▕ \n ➜ 206▕ throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);\n 207▕ } else {\n 208▕ throw $e;\n 209▕ }\n 210▕ }\n\n +14 vendor frames \n\n 15 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:166\n SevenShores\\Hubspot\\Http\\Client::request(\"POST\", \"https://api.hubapi.com/crm/v3/objects/contact/search\", [])\n\n 16 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:52\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 ............................................................................................................................... 4.47ms DONE\n cache ............................................................................................................................... 16.66ms DONE\n compiled ............................................................................................................................. 3.26ms DONE\n events ............................................................................................................................... 3.99ms DONE\n routes ............................................................................................................................... 3.85ms DONE\n views ................................................................................................................................ 4.93ms 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\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\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 .............................................................................................................................. 14.42ms DONE\n cache ............................................................................................................................... 23.70ms DONE\n compiled ............................................................................................................................. 3.46ms DONE\n events ............................................................................................................................... 4.30ms DONE\n routes ............................................................................................................................... 8.35ms DONE\n views ................................................................................................................................ 8.00ms DONE\n\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\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\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-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_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 jiminny:debug\nMatching contact 0\n\n Jiminny\\Exceptions\\RateLimitException \n\n Hubspot returned 429\n\n at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:206\n 202▕ 'retry_after' => $retryAfter,\n 203▕ 'reason' => $e->getMessage(),\n 204▕ ]);\n 205▕ \n ➜ 206▕ throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);\n 207▕ } else {\n 208▕ throw $e;\n 209▕ }\n 210▕ }\n\n +14 vendor frames \n\n 15 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:166\n SevenShores\\Hubspot\\Http\\Client::request(\"POST\", \"https://api.hubapi.com/crm/v3/objects/contact/search\", [])\n\n 16 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:52\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 ............................................................................................................................... 6.77ms DONE\n cache ............................................................................................................................... 25.55ms DONE\n compiled ............................................................................................................................. 3.87ms DONE\n events ............................................................................................................................... 4.96ms DONE\n routes ............................................................................................................................... 2.23ms DONE\n views ................................................................................................................................ 7.50ms 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-conferences:worker-conferences_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-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\nroot@docker_lamp_1:/home/jiminny# \nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug 007d5da3af66\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ dev\nroot@docker_lamp_1:/home/jiminny# \nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug 007d5da3af66\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch JY-20725-handle-HS-search-rate-limit\nChanges to be committed:\n (use \"git restore --staged <file>...\" to unstage)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tnew file: app/Jobs/Middleware/HandleHubspotRateLimit.php\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Exceptions/RateLimitException.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Activity/Import/MatchCrmData.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Crm/MatchActivityCrmData.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Crm/Hubspot/Client.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Crm/Hubspot/HubspotClientInterface.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Crm/Hubspot/Pagination/PaginationState.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Crm/Hubspot/Service.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local.bak\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ gbr\n* JY-20725-handle-HS-search-rate-limit\n master\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\n JY-20160\n JY-20145-filter-out-converted-leads-when-matching\n JY-20150-skip-push-summary-on-summary-ready-if-autolog\n JY-20132-fix-note-encoding\n JY-19792-clean-logs\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ dev\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# php artisan jiminny:debug\nMatching contact 0\n\n TypeError \n\n Jiminny\\Services\\Crm\\Hubspot\\Pagination\\HubspotPaginationService::getPaginatedDataGenerator(): Return value must be of type Generator, none returned\n\n at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:83\n 79▕ \n 80▕ // Update reference parameters\n 81▕ $total = $state->total;\n 82▕ $lastRecordId = $state->lastRecordId;\n ➜ 83▕ }\n 84▕ \n 85▕ private function shouldStopPagination(PaginationState $state, int $teamId): bool\n 86▕ {\n 87▕ if ($state->hasReachedSafetyLimit()) {\n\n 1 app/Services/Crm/Hubspot/Client.php:195\n Jiminny\\Services\\Crm\\Hubspot\\Pagination\\HubspotPaginationService::getPaginatedDataGenerator(Object(Jiminny\\Services\\Crm\\Hubspot\\Client), [], \"contact\")\n\n 2 app/Services/Crm/Hubspot/Client.php:176\n Jiminny\\Services\\Crm\\Hubspot\\Client::getPaginatedDataGenerator([], \"contact\")\n\nroot@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all\n\n INFO Clearing cached bootstrap files. \n\n config .............................................................................................................................. 14.73ms DONE\n cache ............................................................................................................................... 19.13ms DONE\n compiled ............................................................................................................................. 4.93ms DONE\n events ............................................................................................................................... 3.02ms DONE\n routes ............................................................................................................................... 5.55ms DONE\n views ................................................................................................................................ 6.02ms 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\nworker-conferences:worker-conferences_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-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\n\n Jiminny\\Exceptions\\RateLimitException \n\n Hubspot returned 429\n\n at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:206\n 202▕ 'retry_after' => $retryAfter,\n 203▕ 'reason' => $e->getMessage(),\n 204▕ ]);\n 205▕ \n ➜ 206▕ throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);\n 207▕ } else {\n 208▕ throw $e;\n 209▕ }\n 210▕ }\n\n +14 vendor frames \n\n 15 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:166\n SevenShores\\Hubspot\\Http\\Client::request(\"POST\", \"https://api.hubapi.com/crm/v3/objects/contact/search\", [])\n\n 16 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:52\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 ............................................................................................................................... 4.47ms DONE\n cache ............................................................................................................................... 16.66ms DONE\n compiled ............................................................................................................................. 3.26ms DONE\n events ............................................................................................................................... 3.99ms DONE\n routes ............................................................................................................................... 3.85ms DONE\n views ................................................................................................................................ 4.93ms 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\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\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 .............................................................................................................................. 14.42ms DONE\n cache ............................................................................................................................... 23.70ms DONE\n compiled ............................................................................................................................. 3.46ms DONE\n events ............................................................................................................................... 4.30ms DONE\n routes ............................................................................................................................... 8.35ms DONE\n views ................................................................................................................................ 8.00ms DONE\n\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\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\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-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_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 jiminny:debug\nMatching contact 0\n\n Jiminny\\Exceptions\\RateLimitException \n\n Hubspot returned 429\n\n at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:206\n 202▕ 'retry_after' => $retryAfter,\n 203▕ 'reason' => $e->getMessage(),\n 204▕ ]);\n 205▕ \n ➜ 206▕ throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);\n 207▕ } else {\n 208▕ throw $e;\n 209▕ }\n 210▕ }\n\n +14 vendor frames \n\n 15 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:166\n SevenShores\\Hubspot\\Http\\Client::request(\"POST\", \"https://api.hubapi.com/crm/v3/objects/contact/search\", [])\n\n 16 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:52\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 ............................................................................................................................... 6.77ms DONE\n cache ............................................................................................................................... 25.55ms DONE\n compiled ............................................................................................................................. 3.87ms DONE\n events ............................................................................................................................... 4.96ms DONE\n routes ............................................................................................................................... 2.23ms DONE\n views ................................................................................................................................ 7.50ms 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-conferences:worker-conferences_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-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\nroot@docker_lamp_1:/home/jiminny# \nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug 007d5da3af66\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ dev\nroot@docker_lamp_1:/home/jiminny# \nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug 007d5da3af66\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch JY-20725-handle-HS-search-rate-limit\nChanges to be committed:\n (use \"git restore --staged <file>...\" to unstage)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tnew file: app/Jobs/Middleware/HandleHubspotRateLimit.php\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Exceptions/RateLimitException.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Activity/Import/MatchCrmData.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Crm/MatchActivityCrmData.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Crm/Hubspot/Client.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Crm/Hubspot/HubspotClientInterface.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Crm/Hubspot/Pagination/PaginationState.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Crm/Hubspot/Service.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local.bak\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ gbr\n* JY-20725-handle-HS-search-rate-limit\n master\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\n JY-20160\n JY-20145-filter-out-converted-leads-when-matching\n JY-20150-skip-push-summary-on-summary-ready-if-autolog\n JY-20132-fix-note-encoding\n JY-19792-clean-logs\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ dev\nroot@docker_lamp_1:/home/jiminny#","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.16388889,"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.16388889,"top":0.05888889,"width":0.16388889,"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.16805555,"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.32777777,"top":0.05888889,"width":0.16388889,"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.33194444,"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.49166667,"top":0.05888889,"width":0.16388889,"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.49583334,"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.65555555,"top":0.05888889,"width":0.16388889,"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.6597222,"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.8194444,"top":0.05888889,"width":0.16388889,"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.82361114,"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":"DEV (docker)","depth":1,"bounds":{"left":0.46875,"top":0.033333335,"width":0.0625,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
4230719141069081777
|
4433905540982950660
|
visual_change
|
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# php artisan jiminny:debug
Matching contact 0
TypeError
Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService::getPaginatedDataGenerator(): Return value must be of type Generator, none returned
at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:83
79▕
80▕ // Update reference parameters
81▕ $total = $state->total;
82▕ $lastRecordId = $state->lastRecordId;
➜ 83▕ }
84▕
85▕ private function shouldStopPagination(PaginationState $state, int $teamId): bool
86▕ {
87▕ if ($state->hasReachedSafetyLimit()) {
1 app/Services/Crm/Hubspot/Client.php:195
Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService::getPaginatedDataGenerator(Object(Jiminny\Services\Crm\Hubspot\Client), [], "contact")
2 app/Services/Crm/Hubspot/Client.php:176
Jiminny\Services\Crm\Hubspot\Client::getPaginatedDataGenerator([], "contact")
root@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 14.73ms DONE
cache [PASSWORD_DOTS] 19.13ms DONE
compiled [PASSWORD_DOTS] 4.93ms DONE
events [PASSWORD_DOTS] 3.02ms DONE
routes [PASSWORD_DOTS] 5.55ms DONE
views [PASSWORD_DOTS] 6.02ms 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
worker-conferences:worker-conferences_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-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
Jiminny\Exceptions\RateLimitException
Hubspot returned 429
at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:206
202▕ 'retry_after' => $retryAfter,
203▕ 'reason' => $e->getMessage(),
204▕ ]);
205▕
➜ 206▕ throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);
207▕ } else {
208▕ throw $e;
209▕ }
210▕ }
+14 vendor frames
15 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:166
SevenShores\Hubspot\Http\Client::request("POST", "[URL_WITH_CREDENTIALS] php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 4.47ms DONE
cache [PASSWORD_DOTS] 16.66ms DONE
compiled [PASSWORD_DOTS] 3.26ms DONE
events [PASSWORD_DOTS] 3.99ms DONE
routes [PASSWORD_DOTS] 3.85ms DONE
views [PASSWORD_DOTS] 4.93ms 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
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
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] 14.42ms DONE
cache [PASSWORD_DOTS] 23.70ms DONE
compiled [PASSWORD_DOTS] 3.46ms DONE
events [PASSWORD_DOTS] 4.30ms DONE
routes [PASSWORD_DOTS] 8.35ms DONE
views [PASSWORD_DOTS] 8.00ms DONE
jiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped
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
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-conferences:worker-conferences_00: stopped
worker-crm-sync:worker-crm-sync_00: stopped
worker-emails:worker-emails_00: stopped
worker-calendar:worker-calendar_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 jiminny:debug
Matching contact 0
Jiminny\Exceptions\RateLimitException
Hubspot returned 429
at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:206
202▕ 'retry_after' => $retryAfter,
203▕ 'reason' => $e->getMessage(),
204▕ ]);
205▕
➜ 206▕ throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);
207▕ } else {
208▕ throw $e;
209▕ }
210▕ }
+14 vendor frames
15 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:166
SevenShores\Hubspot\Http\Client::request("POST", "[URL_WITH_CREDENTIALS] php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 6.77ms DONE
cache [PASSWORD_DOTS] 25.55ms DONE
compiled [PASSWORD_DOTS] 3.87ms DONE
events [PASSWORD_DOTS] 4.96ms DONE
routes [PASSWORD_DOTS] 2.23ms DONE
views [PASSWORD_DOTS] 7.50ms 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-conferences:worker-conferences_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-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
root@docker_lamp_1:/home/jiminny#
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug 007d5da3af66
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch JY-20725-handle-HS-search-rate-limit
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: app/Jobs/Middleware/HandleHubspotRateLimit.php
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Exceptions/RateLimitException.php
modified: app/Jobs/Activity/Import/MatchCrmData.php
modified: app/Jobs/Crm/MatchActivityCrmData.php
modified: app/Services/Crm/Hubspot/Client.php
modified: app/Services/Crm/Hubspot/HubspotClientInterface.php
modified: app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php
modified: app/Services/Crm/Hubspot/Pagination/PaginationState.php
modified: app/Services/Crm/Hubspot/Service.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.local.bak
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Policies/CanAccessAiReportsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ gbr
* JY-20725-handle-HS-search-rate-limit
master
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
JY-20160
JY-20145-filter-out-converted-leads-when-matching
JY-20150-skip-push-summary-on-summary-ready-if-autolog
JY-20132-fix-note-encoding
JY-19792-clean-logs
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ dev
root@docker_lamp_1:/home/jiminny#
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
⌥⌘1
DEV (docker)...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
17124
|
NULL
|
0
|
2026-05-11T10:06:13.819663+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778493973819_m2.jpg...
|
PhpStorm
|
faVsco.js – laravel.log
|
1
|
NULL
|
monitor_2
|
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
Show Replace Field
Search History
maxExceptions
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/1
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Code changed:
Hide
Sync Changes...
|
[{"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":"JY-20725-handle-HS-search-rate-limit, menu","depth":5,"bounds":{"left":0.064494684,"top":0.019952115,"width":0.09541223,"height":0.025538707},"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,"bounds":{"left":0.82413566,"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":"HandleHubspotRateLimitTest","depth":6,"bounds":{"left":0.8394282,"top":0.019952115,"width":0.076130316,"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 'HandleHubspotRateLimitTest'","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 'HandleHubspotRateLimitTest'","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":"Show Replace Field","depth":4,"bounds":{"left":0.10472074,"top":0.17956904,"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":"AXCheckBox","text":"Search History","depth":3,"bounds":{"left":0.11735372,"top":0.17877094,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"maxExceptions","depth":4,"bounds":{"left":0.12832446,"top":0.17877094,"width":0.043882977,"height":0.015961692},"on_screen":true,"value":"maxExceptions","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"New Line","depth":3,"bounds":{"left":0.18118352,"top":0.17877094,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Match Case","depth":3,"bounds":{"left":0.19115691,"top":0.17877094,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Words","depth":3,"bounds":{"left":0.19980054,"top":0.17877094,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Regex","depth":3,"bounds":{"left":0.20844415,"top":0.17877094,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Replace History","depth":3,"bounds":{"left":0.27027926,"top":1.0,"width":0.00731383,"height":0.0},"on_screen":false,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextField","text":"Replace","depth":4,"on_screen":false,"role_description":"text field","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"New Line","depth":3,"bounds":{"left":0.27027926,"top":1.0,"width":0.00731383,"height":0.0},"on_screen":false,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Preserve case","depth":3,"bounds":{"left":0.27027926,"top":1.0,"width":0.00731383,"height":0.0},"on_screen":false,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"1/1","depth":4,"bounds":{"left":0.22207446,"top":0.17797287,"width":0.025598405,"height":0.017557861},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Occurrence","depth":4,"bounds":{"left":0.24767287,"top":0.17717478,"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":"Next Occurrence","depth":4,"bounds":{"left":0.25631648,"top":0.17717478,"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":"Filter Search Results","depth":4,"bounds":{"left":0.2649601,"top":0.17717478,"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 in Window, Multiple Cursors","depth":4,"bounds":{"left":0.27360374,"top":0.17717478,"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":"AXLink","text":"Click to highlight","depth":4,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":4,"bounds":{"left":0.58477396,"top":0.17717478,"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":"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":"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}]...
|
3191393367835242591
|
-8312230912688279734
|
visual_change
|
hybrid
|
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
Show Replace Field
Search History
maxExceptions
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/1
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Code changed:
Hide
Sync Changes
PhostormVIewINavicareCodeLaravelKeractorFV faVsco.js?9 JY-20725-handle-HS-search-rate-limitProiect(C) TranscodeParameterRescl© SyncRelatedActivityManager.php© UserService.php© VerifyActivityCrmTaskJob.php(C) Uuid.pnp> D Traits© CrmActivityService.phpm ucecaces© ProviderRateLimiter.php> D User> D Utilsmax axceotionsx5 Ccw *› D Validationclass MatchActivityCrmData extends Job implements ShouldQueue, ShouldBeUnique> OvOphp nelpers.ong© InitialFrontendState.php© Jiminny.phppublic function middlewareo: arrayc) Plan.ohoreturn new HandleHubspotRateL1mitol© Serializer.phpC) TeamScimDetails.ohpbootstrappublic function retryuntil(: (Datelimeinterface>© build.> contia> O contrib.return nowo->addMinutes(self::RETRY WINDOW MINUTES):→ database>M docsnublic function constructfront-endint Sactivitvid.>D lang2Confiaunation CfromConfiqunation = nulli> node_modules library rootbool SremoteSearch = false,M ohostan> M nublicSthis->activityId = $activityId;> D resourcesSthis->fromConfiguration = $fromConfiguration:v MroutesSthis->remoteSearch = SremoteSearch;php api.phpphp api_v2.phpSthis->onQueue( queue: Constants::QUEUE_ANALYTICS_LOW) :php console.phppnp customer_api.onppnp embedded.ongpublic tunction uniqueldo: strinaphp nealtn.onppnp scim.onophp uprotectedweb.phpSconfigld = Sthis->fromConfiquration?->qetIdO ?? 0:Sremote = Sthis->remoteSearch ? 'remote' : 'local':php web.phpphp webhook.php>O scriptsreturn "sthis->activitvid:scontlold: sremote":v O storage•aoopublic function timeout: int>M debugbar… M frameworkreturn 300: 5 minutes max execution timev 7lo0saitianore73ê audio. wav1ucane= custom.loalpublic function uniqueFor(): int=hubsnot-iournal-noll.log= laravel lognoturn self.•RETRV WTANOW MTNIITES * 60 ÷ 60-< nhnunit ymus tht is= oauth-nrivate kevTacts naccod. 12 (2 minutes aaoiTOOISWindowC) TrackAutomatedReporiGeneratedeventon;© UserAutomatedReportsController.php© PlaybackController.phpC Hubspot/Service.php©HubSpot/Service.phpyhudspotsynestrategybase.ongT SyncCrmEntitiesTrait.phpCachedCrmServiceDecorator.php© ProspectCache.php ©JiminnyDebugCommand.phpT DeleteCrmEntityTrait.phpRematchActivityOnCrmObjectDetach.php© CheckAndRetryRemoteMatch.php MatchActivityCrmData.php x ©Job.phpphp_ide_helper.phpPaginationstate.php© MatchCrmData.php© CrmObjectsResolver.php= custom.log=laravel.log X A SF [jiminny@localhost]& HS_local [jiminny@localhost]40 l#Support Daily - in 1h 54 m100% C7. • Mon 11 May 13:06:13HandleHubsnotPatel.imitTect« console (PROD]4 console [EU]« console [STAGING]MA1X8AVio 4 spaces ©...
|
17122
|
NULL
|
NULL
|
NULL
|
|
17058
|
NULL
|
0
|
2026-05-11T10:00:48.894481+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778493648894_m2.jpg...
|
iTerm2
|
APP (-zsh)
|
1
|
NULL
|
monitor_2
|
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) $ git status
On branch master
Your branch is up to date with 'origin/master'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
modified: resources/views/partials/crm/push-summary/html-assembly.blade.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 1482, done.
remote: Counting objects: 100% (481/481), done.
remote: Compressing objects: 100% (191/191), done.
remote: Total 1482 (delta 349), reused 305 (delta 289), pack-reused 1001 (from 4)
Receiving objects: 100% (1482/1482), 1017.97 KiB | 1.44 MiB/s, done.
Resolving deltas: 100% (877/877), completed with 96 local objects.
From github.com:jiminny/app
83b628967a..ad2ce76737 master -> origin/master
1ee8cbcb7b..14f54b5be2 JY-17836-participant-speeches-in-s3 -> origin/JY-17836-participant-speeches-in-s3
5662c3b32f..b167b19973 JY-20289-api-tests -> origin/JY-20289-api-tests
b40408cfad..f23cfee7c3 JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null -> origin/JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
* [new branch] JY-20395-fix-memory-issue-with-mail-import -> origin/JY-20395-fix-memory-issue-with-mail-import
* [new branch] JY-20606-desktop-app-recall -> origin/JY-20606-desktop-app-recall
* [new branch] JY-20662-remove-word-boost -> origin/JY-20662-remove-word-boost
* [new branch] JY-20742-mcp-poc -> origin/JY-20742-mcp-poc
* [new branch] make-claude-great-again -> origin/make-claude-great-again
* [new branch] secfix/composer-20260507 -> origin/secfix/composer-20260507
* [new branch] secfix/npm-20260507 -> origin/secfix/npm-20260507
Updating 83b628967a..ad2ce76737
error: Your local changes to the following files would be overwritten by merge:
app/Jobs/Team/SyncToIntercom.php
resources/views/partials/crm/push-summary/html-assembly.blade.php
Please commit your changes or stash them before you merge.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 83b628967a..ad2ce76737
error: Your local changes to the following files would be overwritten by merge:
app/Jobs/Team/SyncToIntercom.php
resources/views/partials/crm/push-summary/html-assembly.blade.php
Please commit your changes or stash them before you merge.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 83b628967a..ad2ce76737
error: Your local changes to the following files would be overwritten by merge:
app/Jobs/Team/SyncToIntercom.php
Please commit your changes or stash them before you merge.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 83b628967a..ad2ce76737
Fast-forward
.cursor/rules/frontend-conventions.mdc | 23 ++
.env.production-eu | 2 +-
.env.staging | 2 +-
Makefile | 10 +
app/Component/ActivityAnalytics/Service/ActivityAnalyticsService.php | 6 +-
app/Component/AiAutomation/Repositories/AiTemplateFieldsRepository.php | 32 +-
app/Component/AiCallScoring/Repositories/AiScorecardRepository.php | 56 ++--
app/Component/AskAnything/AskAnythingPromptService.php | 3 +
app/Component/Transcription/Job/FinishTranscriptionJob.php | 37 ++-
app/Component/Transcription/TranscriptionProcessor/Gong/Gong.php | 18 +-
app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php | 4 +-
app/Component/Twilio/Service/SoftPhoneService.php | 124 ++++---
app/Component/Twilio/TwilioRepository.php | 27 ++
app/Console/Commands/CoachingFeedbacksUpdateEsActivities.php | 59 ----
app/Console/Commands/Reports/AutomatedReportsCommand.php | 122 +++++--
app/Console/Commands/RunAiCallScoringForUntypedActivitiesCommand.php | 200 ++++++++++++
app/Console/Commands/UpdateActivitiesAverageScoreExcludingFeedbacksNotSetVisibleToAll.php | 60 ----
app/Console/Commands/Users/SyncToIntercom.php | 4 +-
app/Console/Kernel.php | 3 +-
app/Contracts/ES/Events/UpdateMultipleEntities.php | 4 -
app/Contracts/ES/Events/UpdateSingleEntity.php | 4 -
app/Contracts/Repositories/TeamRepository.php | 3 +-
app/Events/Activities/ActivityUpdated.php | 10 +-
app/Events/Activities/Audio/RecordingEvent.php | 6 +-
app/Events/Activities/Softphone/Ended.php | 8 +-
app/Events/Activities/Softphone/SoftphoneEvent.php | 24 +-
app/Events/Activities/Softphone/Started.php | 8 +-
app/Http/Controllers/API/ActivityController.php | 17 +-
app/Http/Controllers/API/SoftphoneController.php | 9 +-
app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php | 19 +-
app/Http/Controllers/API/V2/AskAnythingController.php | 2 +-
app/Http/Controllers/Auth/SocialController.php | 6 +-
app/Http/Controllers/Kiosk/AutomatedReportsController.php | 38 ++-
app/Http/Controllers/Kiosk/OrganizationsController.php | 8 +-
app/Http/Controllers/Kiosk/PartnersController.php | 46 +++
app/Http/Controllers/Kiosk/SearchController.php | 8 +
app/Http/Controllers/Kiosk/Teams/OnboardController.php | 24 +-
app/Http/Controllers/Settings/Teams/IntegrationController.php | 6 +-
app/Http/Controllers/TeamSetupController.php | 4 +-
app/Http/Controllers/Telephony/TextMessaging/MessageController.php | 12 +-
app/Http/Controllers/Telephony/TextMessaging/WebhookController.php | 18 +-
app/Http/Requests/Settings/Teams/CreateTeamRequest.php | 1 +
app/Http/Requests/Settings/Teams/EditTeamRequest.php | 1 +
app/Http/Transformers/ActivityTransformer.php | 4 +-
app/Http/Transformers/OnDemandActivitiesTransformer.php | 2 +-
app/Http/Transformers/PartnerTransformer.php | 1 +
app/Http/Transformers/StageTransformer.php | 6 +-
app/Http/Transformers/UserTransformer.php | 11 +-
app/Interactions/Settings/Teams/CreateTeam.php | 3 +
app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php | 80 ++++-
app/Jobs/AutomatedReports/SendReportExpiringSoonMailJob.php | 119 +++++++
app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php | 89 +++++
app/Jobs/Crm/Hubspot/ImportBatchJobTrait.php | 12 +-
app/Jobs/Crm/UpdateStage.php | 3 +
app/Jobs/Team/SyncToIntercom.php | 7 +-
app/Listeners/Teams/SyncIntercomCompany.php | 5 +-
app/Listeners/Teams/UpdateSalesforceAccount.php | 8 +-
app/Listeners/Users/SyncIntercom.php | 5 +-
app/Mail/Reports/AskJiminnyReportExpiringMail.php | 40 +++
app/Mail/Reports/ReportNotGenerated.php | 41 +++
app/Models/Activity.php | 25 +-
app/Models/Activity/Question.php | 14 +-
app/Models/Activity/Search.php | 7 +
app/Models/AskAnything/AskAnythingPrompt.php | 6 +
app/Models/AutomatedReport.php | 10 +
app/Models/CoachingFeedback.php | 44 ++-
app/Models/ElasticSearch/ActivityElasticSearchTrait.php | 86 +----
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 71 ----
app/Models/ElasticSearch/SharedDocumentDeleteTrait.php | 27 --
app/Models/Partner.php | 13 +
app/Models/Playlist/Activity.php | 14 +-
app/Notifications/OwnerInvitedToTrial.php | 14 +-
app/Policies/UserPolicy.php | 16 +-
app/Queue/Worker/Worker.php | 3 +-
app/Repositories/ActivityRepository.php | 13 +-
app/Repositories/AutomatedReportsRepository.php | 42 ++-
app/Repositories/TeamRepository.php | 21 +-
app/Repositories/UserRepository.php | 2 +-
app/Services/Activity/MeetingBotService.php | 8 +-
app/Services/ActivityService.php | 111 ++-----
app/Services/Crm/Hubspot/Service.php | 36 +-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 2 +-
app/Services/Kiosk/AutomatedReports/AskJiminnyReportActivityService.php | 5 +-
app/Services/Kiosk/AutomatedReports/AutomatedReportsService.php | 49 +--
app/Services/Kiosk/KioskService.php | 7 +-
app/Services/Webhook/Triggers/AiScorecardCompletedTrigger.php | 13 +-
app/UseCases/TeamInsights/ConversationRowMapper.php | 78 +++++
app/UseCases/TeamInsights/RecordingOutcomeTextResolver.php | 68 ++++
app/UseCases/TeamInsights/StrictConsentColumnResolver.php | 45 +++
app/UseCases/TeamInsights/TeamConversationsExport.php | 154 ++++-----
composer.json | 1 -
composer.lock | 95 +-----
config/secure-headers.php | 5 +-
database/mappings/mapping_activities.json | 16 +
database/migrations/2026_04_14_000000_add_rockeed_partner.php | 51 +++
database/migrations/2026_04_22_000000_add_success_email_to_partners.php | 26 ++
database/migrations/2026_04_27_000000_add_label_to_partners.php | 28 ++
database/migrations/2026_04_29_105053_move_ask_jiminny_reports_to_grow_tier.php | 79 +++++
front-end/package.json | 5 +-
front-end/src/__mocks__/jiminny.js | 4 +-
front-end/src/__mocks__/kit/endpoints/automated-reports-promo.js | 9 +
front-end/src/__mocks__/setup.js | 1 +
front-end/src/apps/ai-reports-promo.js | 22 ++
front-end/src/components/AiReports/AiReportsPromo.vue | 22 ++
front-end/src/components/AiReports/AutomatedReportsPromo/AutomatedReportsPromo.vue | 190 +++++++++++
front-end/src/components/AiReports/AutomatedReportsPromo/PromoCard.vue | 111 +++++++
front-end/src/components/AiReports/AutomatedReportsPromo/WhyItMattersCard.vue | 103 ++++++
front-end/src/components/AiReports/AutomatedReportsPromo/__tests__/AutomatedReportsPromo.spec.js | 98 ++++++
.../src/components/AiReports/AutomatedReportsPromo/__tests__/__snapshots__/automated-reports-promo.output.html | 283 ++++++++++++++++
front-end/src/components/AiReports/Manage/ManageAiReports.vue | 8 +-
front-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vue | 228 +++++++++++++
front-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js | 71 ++++
.../src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.html | 217 ++++++++++++
front-end/src/components/AiReports/constants.js | 7 +
front-end/src/components/Settings/Kiosk/OrganizationSearch/Organizations.vue | 1 +
front-end/src/components/Settings/Kiosk/__mocks__/Jiminny.js | 1 +
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 43 ++-
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 203 ++++++++++++
front-end/src/components/Settings/Kiosk/shared/Navigation/Navigation.vue | 3 +
front-end/src/components/Settings/Kiosk/shared/Navigation/__tests__/Navigation.spec.js | 67 ++++
front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 4 +-
front-end/src/components/TeamInsights/CoachingFrameworks/UsersList.vue | 2 +-
front-end/src/components/layout/Sidebar/HelpMenu.vue | 25 +-
front-end/src/components/layout/Sidebar/Sidebar.vue | 27 +-
front-end/src/components/layout/Sidebar/__tests__/HelpMenu.spec.js | 94 ++++++
front-end/src/components/layout/Sidebar/__tests__/__snapshots__/Sidebar.spec.js.snap | 4 +-
front-end/src/components/layout/Sidebar/__tests__/useAiReportsSidebarButton.spec.js | 204 ++++++++++++
front-end/src/components/layout/Sidebar/useAiReportsSidebarButton.js | 49 +++
front-end/src/main.js | 1 +
front-end/src/store/modules/TeamInsights/util.js | 1 +
front-end/src/store/modules/platform/__tests__/getters.spec.js | 22 ++
front-end/src/store/modules/platform/getters.js | 3 +
front-end/src/utils/index.js | 11 +
front-end/yarn.lock | 21 +-
phpstan-baseline.neon | 60 ----
public/pdf/exec-reports/com/coaching-profiles.pdf | Bin 0 -> 1531178 bytes
public/pdf/exec-reports/com/exec-summary.pdf | Bin 0 -> 2237381 bytes
public/pdf/exec-reports/com/loss-report.pdf | Bin 0 -> 1955343 bytes
public/pdf/exec-reports/com/product-feedback.pdf | Bin 0 -> 2184417 bytes
public/pdf/exec-reports/eu/coaching-profiles.pdf | Bin 0 -> 1528704 bytes
public/pdf/exec-reports/eu/exec-summary.pdf | Bin 0 -> 2296741 bytes
public/pdf/exec-reports/eu/loss-report.pdf | Bin 0 -> 1955808 bytes
public/pdf/exec-reports/eu/product-feedback.pdf | Bin 0 -> 2184083 bytes
resources/views/emails/reports/ask-jiminny-report-expiring.blade.php | 22 ++
resources/views/emails/reports/report-not-generated.blade.php | 24 ++
resources/views/partials/crm/push-summary/html-assembly.blade.php | 2 +-
routes/api.php | 6 +
routes/web.php | 4 +
tests/Feature/Policies/UserPolicyTest.php | 90 ++++-
tests/Unit/Component/ActivityAnalytics/Service/ActivityAnalyticsServiceTest.php | 40 +++
tests/Unit/Component/AskAnything/AskAnythingPromptServiceTest.php | 26 ++
tests/Unit/Component/Transcription/Job/FinishTranscriptionJobTest.php | 276 ++++++++++++++++
tests/Unit/Component/Transcription/TranscriptionProcessor/Gong/GongTest.php | 375 +++++++++++++++++++++
tests/Unit/Component/Twilio/Service/SoftPhoneServiceTest.php | 1014 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--
tests/Unit/Console/Commands/Reports/AutomatedReportsCommandTest.php | 157 ++++++++-
tests/Unit/Events/Activities/Audio/RecordingEventTest.php | 72 ++++
tests/Unit/Events/Activities/Softphone/EndedTest.php | 86 +++++
tests/Unit/Events/Activities/Softphone/SoftphoneEventTest.php | 88 +++++
tests/Unit/Events/Activities/Softphone/StartedTest.php | 86 +++++
tests/Unit/Http/Controllers/Kiosk/AutomatedReportsControllerTest.php | 99 ++++++
tests/Unit/Http/Transformers/ActivityTransformerTest.php | 5 +-
tests/Unit/Http/Transformers/PartnerTransformerTest.php | 34 ++
tests/Unit/Interactions/Settings/Teams/CreateTeamTest.php | 49 +++
tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php | 106 +++++-
tests/Unit/Jobs/AutomatedReports/SendReportExpiringSoonMailJobTest.php | 205 ++++++++++++
tests/Unit/Jobs/AutomatedReports/SendReportNotGeneratedMailJobTest.php | 188 +++++++++++
tests/Unit/Jobs/Crm/ImportOpportunityBatchTest.php | 2 +-
tests/Unit/Jobs/Team/SyncToIntercomTest.php | 6 +
tests/Unit/Listeners/Teams/SyncIntercomCompanyTest.php | 59 ++++
tests/Unit/Listeners/Teams/UpdateSalesforceAccountTest.php | 11 +-
tests/Unit/Listeners/Users/SyncIntercomTest.php | 59 ++++
tests/Unit/Mail/Reports/ReportNotGeneratedTest.php | 166 ++++++++++
tests/Unit/Models/PartnerTest.php | 28 ++
tests/Unit/Repositories/AutomatedReportsRepositoryTest.php | 68 ++++
tests/Unit/Services/Activity/MeetingBotServiceRequestRecordingToStopTest.php | 14 +-
tests/Unit/Services/ActivityServiceTest.php | 391 ++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ServiceResponseNormalizeTest.php | 68 ++--
tests/Unit/Services/Kiosk/AutomatedReports/AskJiminnyReportActivityServiceTest.php | 48 +--
tests/Unit/Services/Kiosk/AutomatedReports/AutomatedReportsServiceActivitiesCountTest.php | 16 +-
tests/Unit/Services/Kiosk/AutomatedReports/AutomatedReportsServiceReportGenerationTest.php | 24 +-
tests/Unit/Services/Kiosk/AutomatedReports/AutomatedReportsServiceTest.php | 130 ++++++++
tests/Unit/Services/KioskServiceTest.php | 8 +
tests/Unit/Services/Webhook/Triggers/AiScorecardCompletedTriggerTest.php | 6 +-
tests/Unit/UseCases/TeamInsights/RecordingOutcomeTextResolverTest.php | 119 +++++++
tests/Unit/UseCases/TeamInsights/StrictConsentColumnResolverTest.php | 108 ++++++
tests/Unit/UseCases/TeamInsights/TeamConversationsExportTest.php | 342 ++++++++++++++-----
186 files changed, 8538 insertions(+), 1233 deletions(-)
create mode 100644 app/Component/Twilio/TwilioRepository.php
delete mode 100644 app/Console/Commands/CoachingFeedbacksUpdateEsActivities.php
create mode 100644 app/Console/Commands/RunAiCallScoringForUntypedActivitiesCommand.php
delete mode 100644 app/Console/Commands/UpdateActivitiesAverageScoreExcludingFeedbacksNotSetVisibleToAll.php
create mode 100644 app/Http/Controllers/Kiosk/PartnersController.php
create mode 100644 app/Jobs/AutomatedReports/SendReportExpiringSoonMailJob.php
create mode 100644 app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php
create mode 100644 app/Mail/Reports/AskJiminnyReportExpiringMail.php
create mode 100644 app/Mail/Reports/ReportNotGenerated.php
delete mode 100644 app/Models/ElasticSearch/SharedDocumentDeleteTrait.php
create mode 100644 app/UseCases/TeamInsights/ConversationRowMapper.php
create mode 100644 app/UseCases/TeamInsights/RecordingOutcomeTextResolver.php
create mode 100644 app/UseCases/TeamInsights/StrictConsentColumnResolver.php
create mode 100644 database/migrations/2026_04_14_000000_add_rockeed_partner.php
create mode 100644 database/migrations/2026_04_22_000000_add_success_email_to_partners.php
create mode 100644 database/migrations/2026_04_27_000000_add_label_to_partners.php
create mode 100644 database/migrations/2026_04_29_105053_move_ask_jiminny_reports_to_grow_tier.php
create mode 100644 front-end/src/__mocks__/kit/endpoints/automated-reports-promo.js
create mode 100644 front-end/src/apps/ai-reports-promo.js
create mode 100644 front-end/src/components/AiReports/AiReportsPromo.vue
create mode 100644 front-end/src/components/AiReports/AutomatedReportsPromo/AutomatedReportsPromo.vue
create mode 100644 front-end/src/components/AiReports/AutomatedReportsPromo/PromoCard.vue
create mode 100644 front-end/src/components/AiReports/AutomatedReportsPromo/WhyItMattersCard.vue
create mode 100644 front-end/src/components/AiReports/AutomatedReportsPromo/__tests__/AutomatedReportsPromo.spec.js
create mode 100644 front-end/src/components/AiReports/AutomatedReportsPromo/__tests__/__snapshots__/automated-reports-promo.output.html
create mode 100644 front-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vue
create mode 100644 front-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js
create mode 100644 front-end/src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.html
create mode 100644 front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js
create mode 100644 front-end/src/components/Settings/Kiosk/shared/Navigation/__tests__/Navigation.spec.js
create mode 100644 front-end/src/components/layout/Sidebar/__tests__/HelpMenu.spec.js
create mode 100644 front-end/src/components/layout/Sidebar/__tests__/useAiReportsSidebarButton.spec.js
create mode 100644 front-end/src/components/layout/Sidebar/useAiReportsSidebarButton.js
create mode 100644 front-end/src/store/modules/platform/__tests__/getters.spec.js
create mode 100644 public/pdf/exec-reports/com/coaching-profiles.pdf
create mode 100644 public/pdf/exec-reports/com/exec-summary.pdf
create mode 100644 public/pdf/exec-reports/com/loss-report.pdf
create mode 100644 public/pdf/exec-reports/com/product-feedback.pdf
create mode 100644 public/pdf/exec-reports/eu/coaching-profiles.pdf
create mode 100644 public/pdf/exec-reports/eu/exec-summary.pdf
create mode 100644 public/pdf/exec-reports/eu/loss-report.pdf
create mode 100644 public/pdf/exec-reports/eu/product-feedback.pdf
create mode 100644 resources/views/emails/reports/ask-jiminny-report-expiring.blade.php
create mode 100644 resources/views/emails/reports/report-not-generated.blade.php
create mode 100644 tests/Unit/Component/Transcription/Job/FinishTranscriptionJobTest.php
create mode 100644 tests/Unit/Component/Transcription/TranscriptionProcessor/Gong/GongTest.php
create mode 100644 tests/Unit/Events/Activities/Audio/RecordingEventTest.php
create mode 100644 tests/Unit/Events/Activities/Softphone/EndedTest.php
create mode 100644 tests/Unit/Events/Activities/Softphone/SoftphoneEventTest.php
create mode 100644 tests/Unit/Events/Activities/Softphone/StartedTest.php
create mode 100644 tests/Unit/Http/Transformers/PartnerTransformerTest.php
create mode 100644 tests/Unit/Jobs/AutomatedReports/SendReportExpiringSoonMailJobTest.php
create mode 100644 tests/Unit/Jobs/AutomatedReports/SendReportNotGeneratedMailJobTest.php
create mode 100644 tests/Unit/Listeners/Teams/SyncIntercomCompanyTest.php
create mode 100644 tests/Unit/Listeners/Users/SyncIntercomTest.php
create mode 100644 tests/Unit/Mail/Reports/ReportNotGeneratedTest.php
create mode 100644 tests/Unit/Models/PartnerTest.php
create mode 100644 tests/Unit/Services/ActivityServiceTest.php
create mode 100644 tests/Unit/UseCases/TeamInsights/RecordingOutcomeTextResolverTest.php
create mode 100644 tests/Unit/UseCases/TeamInsights/StrictConsentColumnResolverTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 628, done.
remote: Counting objects: 100% (331/331), done.
remote: Compressing objects: 100% (63/63), done.
remote: Total 628 (delta 280), reused 274 (delta 266), pack-reused 297 (from 1)
Receiving objects: 100% (628/628), 186.75 KiB | 1.23 MiB/s, done.
Resolving deltas: 100% (391/391), completed with 57 local objects.
From github.com:jiminny/app
ad2ce76737..12295204cf master -> origin/master
14f54b5be2..5e7646e5f9 JY-17836-participant-speeches-in-s3 -> origin/JY-17836-participant-speeches-in-s3
b167b19973..acba55cf38 JY-20289-api-tests -> origin/JY-20289-api-tests
f23cfee7c3..e5a3ec5dba JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null -> origin/JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
af59d60926..766efba1c5 JY-20395-fix-memory-issue-with-mail-import -> origin/JY-20395-fix-memory-issue-with-mail-import
* [new branch] JY-20493-smart-instant-nudge-pre-filtering -> origin/JY-20493-smart-instant-nudge-pre-filtering
1737b7c528..c57e71e763 JY-20606-desktop-app-recall -> origin/JY-20606-desktop-app-recall
* [new branch] JY-20671-anyvan-twilio-s3-recordings-ftech -> origin/JY-20671-anyvan-twilio-s3-recordings-ftech
+ ba181441c6...20a74137b0 JY-20742-mcp-poc -> origin/JY-20742-mcp-poc (forced update)
* [new branch] JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20816-calendar-events-diplication -> origin/JY-20816-calendar-events-diplication
* [new branch] desktop-app -> origin/desktop-app
4c4c974e46..185442c26e make-claude-great-again -> origin/make-claude-great-again
* [new branch] mcp-tools-schemas -> origin/mcp-tools-schemas
Updating ad2ce76737..12295204cf
Fast-forward
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 2 +-
app/Component/Transcription/TranscriptionProcessor/AssemblyAI/Services/SubmitAudioFileService.php | 66 ++----------------------------------------------------------------
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 24 +++++++++++++++++-------
tests/Unit/Console/Commands/Tracks/CleanupActivityTracksCommandTest.php | 40 +++++++++++++++++++++++++++++-----------
tests/Unit/fixtures/assembly_ai_transcript_response.json | 1 -
tests/Unit/fixtures/assembly_ai_transcript_response_channel_diarization.json | 1 -
tests/Unit/fixtures/assembly_ai_transcript_response_language.json | 1 -
tests/Unit/fixtures/assembly_ai_transcript_response_language_error.json | 1 -
tests/Unit/fixtures/assembly_ai_transcript_response_language_not_ready.json | 1 -
tests/Unit/fixtures/assembly_ai_transcript_response_language_post.json | 1 -
tests/Unit/fixtures/assembly_ai_transcript_response_without_utterances.json | 1 -
11 files changed, 49 insertions(+), 90 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20818-move-AJ-reports-to-separated-datadog-metric
Switched to a new branch 'JY-20818-move-AJ-reports-to-separated-datadog-metric'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20818-move-AJ-reports-to-separated-datadog-metric) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5663/5663 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5663 files in 83.615 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20818-move-AJ-reports-to-separated-datadog-metric) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5663/5663 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5663 files in 42.875 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 15, done.
remote: Counting objects: 100% (15/15), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 15 (delta 13), reused 15 (delta 13), pack-reused 0 (from 0)
Unpacking objects: 100% (15/15), 1.28 KiB | 72.00 KiB/s, done.
From github.com:jiminny/app
c57e71e763..8743fea32e JY-20606-desktop-app-recall -> origin/JY-20606-desktop-app-recall
* [new branch] JY-20819-increase-download-transctip-rate-limit -> origin/JY-20819-increase-download-transctip-rate-limit
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 180, done.
remote: Counting objects: 100% (179/179), done.
remote: Compressing objects: 100% (55/55), done.
remote: Total 180 (delta 127), reused 165 (delta 119), pack-reused 1 (from 1)
Receiving objects: 100% (180/180), 57.50 KiB | 2.74 MiB/s, done.
Resolving deltas: 100% (127/127), completed with 47 local objects.
From github.com:jiminny/app
12295204cf..35f036ace6 master -> origin/master
* [new branch] JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
5f21965da8..497fbc85c2 JY-20493-smart-instant-nudge-pre-filtering -> origin/JY-20493-smart-instant-nudge-pre-filtering
f029263118..6ed9e2bb13 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20817-fix-deleting-s3-directories -> origin/JY-20817-fix-deleting-s3-directories
* [new branch] JY-20820-es-reindex-stream-model-hydration -> origin/JY-20820-es-reindex-stream-model-hydration
+ ca92730ec5...2c8a1d0856 desktop-app -> origin/desktop-app (forced update)
8425d4e0de..89b45ec8b0 mcp-tools-schemas -> origin/mcp-tools-schemas
Updating 12295204cf..35f036ace6
Fast-forward
app/Component/Datadog/Constants.php | 1 +
app/Providers/RouteServiceProvider.php | 2 +-
app/Services/Kiosk/AutomatedReports/AutomatedReportsCallbackService.php | 13 +++++++++++++
tests/Unit/Services/Kiosk/AutomatedReports/AutomatedReportsCallbackServiceTest.php | 54 +++++++++++++++++++++++++++++++++++++++++++++++-------
4 files changed, 62 insertions(+), 8 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ gbr
* master
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
JY-20160
JY-20145-filter-out-converted-leads-when-matching
JY-20150-skip-push-summary-on-summary-ready-if-autolog
JY-20132-fix-note-encoding
JY-19792-clean-logs
JY-20117-fix-sync-profile-fields-on-empty-fields
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20725-handle-HS-search-rate-limit
Switched to a new branch 'JY-20725-handle-HS-search-rate-limit'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ ;xd
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
⌥⌘1
APP (-zsh)...
|
[{"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) $ git status\nOn branch master\nYour branch is up to date with 'origin/master'.\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: resources/views/partials/crm/push-summary/html-assembly.blade.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 1482, done.\nremote: Counting objects: 100% (481/481), done.\nremote: Compressing objects: 100% (191/191), done.\nremote: Total 1482 (delta 349), reused 305 (delta 289), pack-reused 1001 (from 4)\nReceiving objects: 100% (1482/1482), 1017.97 KiB | 1.44 MiB/s, done.\nResolving deltas: 100% (877/877), completed with 96 local objects.\nFrom github.com:jiminny/app\n 83b628967a..ad2ce76737 master -> origin/master\n 1ee8cbcb7b..14f54b5be2 JY-17836-participant-speeches-in-s3 -> origin/JY-17836-participant-speeches-in-s3\n 5662c3b32f..b167b19973 JY-20289-api-tests -> origin/JY-20289-api-tests\n b40408cfad..f23cfee7c3 JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null -> origin/JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n * [new branch] JY-20395-fix-memory-issue-with-mail-import -> origin/JY-20395-fix-memory-issue-with-mail-import\n * [new branch] JY-20606-desktop-app-recall -> origin/JY-20606-desktop-app-recall\n * [new branch] JY-20662-remove-word-boost -> origin/JY-20662-remove-word-boost\n * [new branch] JY-20742-mcp-poc -> origin/JY-20742-mcp-poc\n * [new branch] make-claude-great-again -> origin/make-claude-great-again\n * [new branch] secfix/composer-20260507 -> origin/secfix/composer-20260507\n * [new branch] secfix/npm-20260507 -> origin/secfix/npm-20260507\nUpdating 83b628967a..ad2ce76737\nerror: Your local changes to the following files would be overwritten by merge:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tresources/views/partials/crm/push-summary/html-assembly.blade.php\nPlease commit your changes or stash them before you merge.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 83b628967a..ad2ce76737\nerror: Your local changes to the following files would be overwritten by merge:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tresources/views/partials/crm/push-summary/html-assembly.blade.php\nPlease commit your changes or stash them before you merge.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 83b628967a..ad2ce76737\nerror: Your local changes to the following files would be overwritten by merge:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/Team/SyncToIntercom.php\nPlease commit your changes or stash them before you merge.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 83b628967a..ad2ce76737\nFast-forward\n .cursor/rules/frontend-conventions.mdc | 23 ++\n .env.production-eu | 2 +-\n .env.staging | 2 +-\n Makefile | 10 +\n app/Component/ActivityAnalytics/Service/ActivityAnalyticsService.php | 6 +-\n app/Component/AiAutomation/Repositories/AiTemplateFieldsRepository.php | 32 +-\n app/Component/AiCallScoring/Repositories/AiScorecardRepository.php | 56 ++--\n app/Component/AskAnything/AskAnythingPromptService.php | 3 +\n app/Component/Transcription/Job/FinishTranscriptionJob.php | 37 ++-\n app/Component/Transcription/TranscriptionProcessor/Gong/Gong.php | 18 +-\n app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php | 4 +-\n app/Component/Twilio/Service/SoftPhoneService.php | 124 ++++---\n app/Component/Twilio/TwilioRepository.php | 27 ++\n app/Console/Commands/CoachingFeedbacksUpdateEsActivities.php | 59 ----\n app/Console/Commands/Reports/AutomatedReportsCommand.php | 122 +++++--\n app/Console/Commands/RunAiCallScoringForUntypedActivitiesCommand.php | 200 ++++++++++++\n app/Console/Commands/UpdateActivitiesAverageScoreExcludingFeedbacksNotSetVisibleToAll.php | 60 ----\n app/Console/Commands/Users/SyncToIntercom.php | 4 +-\n app/Console/Kernel.php | 3 +-\n app/Contracts/ES/Events/UpdateMultipleEntities.php | 4 -\n app/Contracts/ES/Events/UpdateSingleEntity.php | 4 -\n app/Contracts/Repositories/TeamRepository.php | 3 +-\n app/Events/Activities/ActivityUpdated.php | 10 +-\n app/Events/Activities/Audio/RecordingEvent.php | 6 +-\n app/Events/Activities/Softphone/Ended.php | 8 +-\n app/Events/Activities/Softphone/SoftphoneEvent.php | 24 +-\n app/Events/Activities/Softphone/Started.php | 8 +-\n app/Http/Controllers/API/ActivityController.php | 17 +-\n app/Http/Controllers/API/SoftphoneController.php | 9 +-\n app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php | 19 +-\n app/Http/Controllers/API/V2/AskAnythingController.php | 2 +-\n app/Http/Controllers/Auth/SocialController.php | 6 +-\n app/Http/Controllers/Kiosk/AutomatedReportsController.php | 38 ++-\n app/Http/Controllers/Kiosk/OrganizationsController.php | 8 +-\n app/Http/Controllers/Kiosk/PartnersController.php | 46 +++\n app/Http/Controllers/Kiosk/SearchController.php | 8 +\n app/Http/Controllers/Kiosk/Teams/OnboardController.php | 24 +-\n app/Http/Controllers/Settings/Teams/IntegrationController.php | 6 +-\n app/Http/Controllers/TeamSetupController.php | 4 +-\n app/Http/Controllers/Telephony/TextMessaging/MessageController.php | 12 +-\n app/Http/Controllers/Telephony/TextMessaging/WebhookController.php | 18 +-\n app/Http/Requests/Settings/Teams/CreateTeamRequest.php | 1 +\n app/Http/Requests/Settings/Teams/EditTeamRequest.php | 1 +\n app/Http/Transformers/ActivityTransformer.php | 4 +-\n app/Http/Transformers/OnDemandActivitiesTransformer.php | 2 +-\n app/Http/Transformers/PartnerTransformer.php | 1 +\n app/Http/Transformers/StageTransformer.php | 6 +-\n app/Http/Transformers/UserTransformer.php | 11 +-\n app/Interactions/Settings/Teams/CreateTeam.php | 3 +\n app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php | 80 ++++-\n app/Jobs/AutomatedReports/SendReportExpiringSoonMailJob.php | 119 +++++++\n app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php | 89 +++++\n app/Jobs/Crm/Hubspot/ImportBatchJobTrait.php | 12 +-\n app/Jobs/Crm/UpdateStage.php | 3 +\n app/Jobs/Team/SyncToIntercom.php | 7 +-\n app/Listeners/Teams/SyncIntercomCompany.php | 5 +-\n app/Listeners/Teams/UpdateSalesforceAccount.php | 8 +-\n app/Listeners/Users/SyncIntercom.php | 5 +-\n app/Mail/Reports/AskJiminnyReportExpiringMail.php | 40 +++\n app/Mail/Reports/ReportNotGenerated.php | 41 +++\n app/Models/Activity.php | 25 +-\n app/Models/Activity/Question.php | 14 +-\n app/Models/Activity/Search.php | 7 +\n app/Models/AskAnything/AskAnythingPrompt.php | 6 +\n app/Models/AutomatedReport.php | 10 +\n app/Models/CoachingFeedback.php | 44 ++-\n app/Models/ElasticSearch/ActivityElasticSearchTrait.php | 86 +----\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 71 ----\n app/Models/ElasticSearch/SharedDocumentDeleteTrait.php | 27 --\n app/Models/Partner.php | 13 +\n app/Models/Playlist/Activity.php | 14 +-\n app/Notifications/OwnerInvitedToTrial.php | 14 +-\n app/Policies/UserPolicy.php | 16 +-\n app/Queue/Worker/Worker.php | 3 +-\n app/Repositories/ActivityRepository.php | 13 +-\n app/Repositories/AutomatedReportsRepository.php | 42 ++-\n app/Repositories/TeamRepository.php | 21 +-\n app/Repositories/UserRepository.php | 2 +-\n app/Services/Activity/MeetingBotService.php | 8 +-\n app/Services/ActivityService.php | 111 ++-----\n app/Services/Crm/Hubspot/Service.php | 36 +-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 2 +-\n app/Services/Kiosk/AutomatedReports/AskJiminnyReportActivityService.php | 5 +-\n app/Services/Kiosk/AutomatedReports/AutomatedReportsService.php | 49 +--\n app/Services/Kiosk/KioskService.php | 7 +-\n app/Services/Webhook/Triggers/AiScorecardCompletedTrigger.php | 13 +-\n app/UseCases/TeamInsights/ConversationRowMapper.php | 78 +++++\n app/UseCases/TeamInsights/RecordingOutcomeTextResolver.php | 68 ++++\n app/UseCases/TeamInsights/StrictConsentColumnResolver.php | 45 +++\n app/UseCases/TeamInsights/TeamConversationsExport.php | 154 ++++-----\n composer.json | 1 -\n composer.lock | 95 +-----\n config/secure-headers.php | 5 +-\n database/mappings/mapping_activities.json | 16 +\n database/migrations/2026_04_14_000000_add_rockeed_partner.php | 51 +++\n database/migrations/2026_04_22_000000_add_success_email_to_partners.php | 26 ++\n database/migrations/2026_04_27_000000_add_label_to_partners.php | 28 ++\n database/migrations/2026_04_29_105053_move_ask_jiminny_reports_to_grow_tier.php | 79 +++++\n front-end/package.json | 5 +-\n front-end/src/__mocks__/jiminny.js | 4 +-\n front-end/src/__mocks__/kit/endpoints/automated-reports-promo.js | 9 +\n front-end/src/__mocks__/setup.js | 1 +\n front-end/src/apps/ai-reports-promo.js | 22 ++\n front-end/src/components/AiReports/AiReportsPromo.vue | 22 ++\n front-end/src/components/AiReports/AutomatedReportsPromo/AutomatedReportsPromo.vue | 190 +++++++++++\n front-end/src/components/AiReports/AutomatedReportsPromo/PromoCard.vue | 111 +++++++\n front-end/src/components/AiReports/AutomatedReportsPromo/WhyItMattersCard.vue | 103 ++++++\n front-end/src/components/AiReports/AutomatedReportsPromo/__tests__/AutomatedReportsPromo.spec.js | 98 ++++++\n .../src/components/AiReports/AutomatedReportsPromo/__tests__/__snapshots__/automated-reports-promo.output.html | 283 ++++++++++++++++\n front-end/src/components/AiReports/Manage/ManageAiReports.vue | 8 +-\n front-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vue | 228 +++++++++++++\n front-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js | 71 ++++\n .../src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.html | 217 ++++++++++++\n front-end/src/components/AiReports/constants.js | 7 +\n front-end/src/components/Settings/Kiosk/OrganizationSearch/Organizations.vue | 1 +\n front-end/src/components/Settings/Kiosk/__mocks__/Jiminny.js | 1 +\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 43 ++-\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 203 ++++++++++++\n front-end/src/components/Settings/Kiosk/shared/Navigation/Navigation.vue | 3 +\n front-end/src/components/Settings/Kiosk/shared/Navigation/__tests__/Navigation.spec.js | 67 ++++\n front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 4 +-\n front-end/src/components/TeamInsights/CoachingFrameworks/UsersList.vue | 2 +-\n front-end/src/components/layout/Sidebar/HelpMenu.vue | 25 +-\n front-end/src/components/layout/Sidebar/Sidebar.vue | 27 +-\n front-end/src/components/layout/Sidebar/__tests__/HelpMenu.spec.js | 94 ++++++\n front-end/src/components/layout/Sidebar/__tests__/__snapshots__/Sidebar.spec.js.snap | 4 +-\n front-end/src/components/layout/Sidebar/__tests__/useAiReportsSidebarButton.spec.js | 204 ++++++++++++\n front-end/src/components/layout/Sidebar/useAiReportsSidebarButton.js | 49 +++\n front-end/src/main.js | 1 +\n front-end/src/store/modules/TeamInsights/util.js | 1 +\n front-end/src/store/modules/platform/__tests__/getters.spec.js | 22 ++\n front-end/src/store/modules/platform/getters.js | 3 +\n front-end/src/utils/index.js | 11 +\n front-end/yarn.lock | 21 +-\n phpstan-baseline.neon | 60 ----\n public/pdf/exec-reports/com/coaching-profiles.pdf | Bin 0 -> 1531178 bytes\n public/pdf/exec-reports/com/exec-summary.pdf | Bin 0 -> 2237381 bytes\n public/pdf/exec-reports/com/loss-report.pdf | Bin 0 -> 1955343 bytes\n public/pdf/exec-reports/com/product-feedback.pdf | Bin 0 -> 2184417 bytes\n public/pdf/exec-reports/eu/coaching-profiles.pdf | Bin 0 -> 1528704 bytes\n public/pdf/exec-reports/eu/exec-summary.pdf | Bin 0 -> 2296741 bytes\n public/pdf/exec-reports/eu/loss-report.pdf | Bin 0 -> 1955808 bytes\n public/pdf/exec-reports/eu/product-feedback.pdf | Bin 0 -> 2184083 bytes\n resources/views/emails/reports/ask-jiminny-report-expiring.blade.php | 22 ++\n resources/views/emails/reports/report-not-generated.blade.php | 24 ++\n resources/views/partials/crm/push-summary/html-assembly.blade.php | 2 +-\n routes/api.php | 6 +\n routes/web.php | 4 +\n tests/Feature/Policies/UserPolicyTest.php | 90 ++++-\n tests/Unit/Component/ActivityAnalytics/Service/ActivityAnalyticsServiceTest.php | 40 +++\n tests/Unit/Component/AskAnything/AskAnythingPromptServiceTest.php | 26 ++\n tests/Unit/Component/Transcription/Job/FinishTranscriptionJobTest.php | 276 ++++++++++++++++\n tests/Unit/Component/Transcription/TranscriptionProcessor/Gong/GongTest.php | 375 +++++++++++++++++++++\n tests/Unit/Component/Twilio/Service/SoftPhoneServiceTest.php | 1014 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Console/Commands/Reports/AutomatedReportsCommandTest.php | 157 ++++++++-\n tests/Unit/Events/Activities/Audio/RecordingEventTest.php | 72 ++++\n tests/Unit/Events/Activities/Softphone/EndedTest.php | 86 +++++\n tests/Unit/Events/Activities/Softphone/SoftphoneEventTest.php | 88 +++++\n tests/Unit/Events/Activities/Softphone/StartedTest.php | 86 +++++\n tests/Unit/Http/Controllers/Kiosk/AutomatedReportsControllerTest.php | 99 ++++++\n tests/Unit/Http/Transformers/ActivityTransformerTest.php | 5 +-\n tests/Unit/Http/Transformers/PartnerTransformerTest.php | 34 ++\n tests/Unit/Interactions/Settings/Teams/CreateTeamTest.php | 49 +++\n tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php | 106 +++++-\n tests/Unit/Jobs/AutomatedReports/SendReportExpiringSoonMailJobTest.php | 205 ++++++++++++\n tests/Unit/Jobs/AutomatedReports/SendReportNotGeneratedMailJobTest.php | 188 +++++++++++\n tests/Unit/Jobs/Crm/ImportOpportunityBatchTest.php | 2 +-\n tests/Unit/Jobs/Team/SyncToIntercomTest.php | 6 +\n tests/Unit/Listeners/Teams/SyncIntercomCompanyTest.php | 59 ++++\n tests/Unit/Listeners/Teams/UpdateSalesforceAccountTest.php | 11 +-\n tests/Unit/Listeners/Users/SyncIntercomTest.php | 59 ++++\n tests/Unit/Mail/Reports/ReportNotGeneratedTest.php | 166 ++++++++++\n tests/Unit/Models/PartnerTest.php | 28 ++\n tests/Unit/Repositories/AutomatedReportsRepositoryTest.php | 68 ++++\n tests/Unit/Services/Activity/MeetingBotServiceRequestRecordingToStopTest.php | 14 +-\n tests/Unit/Services/ActivityServiceTest.php | 391 ++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ServiceResponseNormalizeTest.php | 68 ++--\n tests/Unit/Services/Kiosk/AutomatedReports/AskJiminnyReportActivityServiceTest.php | 48 +--\n tests/Unit/Services/Kiosk/AutomatedReports/AutomatedReportsServiceActivitiesCountTest.php | 16 +-\n tests/Unit/Services/Kiosk/AutomatedReports/AutomatedReportsServiceReportGenerationTest.php | 24 +-\n tests/Unit/Services/Kiosk/AutomatedReports/AutomatedReportsServiceTest.php | 130 ++++++++\n tests/Unit/Services/KioskServiceTest.php | 8 +\n tests/Unit/Services/Webhook/Triggers/AiScorecardCompletedTriggerTest.php | 6 +-\n tests/Unit/UseCases/TeamInsights/RecordingOutcomeTextResolverTest.php | 119 +++++++\n tests/Unit/UseCases/TeamInsights/StrictConsentColumnResolverTest.php | 108 ++++++\n tests/Unit/UseCases/TeamInsights/TeamConversationsExportTest.php | 342 ++++++++++++++-----\n 186 files changed, 8538 insertions(+), 1233 deletions(-)\n create mode 100644 app/Component/Twilio/TwilioRepository.php\n delete mode 100644 app/Console/Commands/CoachingFeedbacksUpdateEsActivities.php\n create mode 100644 app/Console/Commands/RunAiCallScoringForUntypedActivitiesCommand.php\n delete mode 100644 app/Console/Commands/UpdateActivitiesAverageScoreExcludingFeedbacksNotSetVisibleToAll.php\n create mode 100644 app/Http/Controllers/Kiosk/PartnersController.php\n create mode 100644 app/Jobs/AutomatedReports/SendReportExpiringSoonMailJob.php\n create mode 100644 app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php\n create mode 100644 app/Mail/Reports/AskJiminnyReportExpiringMail.php\n create mode 100644 app/Mail/Reports/ReportNotGenerated.php\n delete mode 100644 app/Models/ElasticSearch/SharedDocumentDeleteTrait.php\n create mode 100644 app/UseCases/TeamInsights/ConversationRowMapper.php\n create mode 100644 app/UseCases/TeamInsights/RecordingOutcomeTextResolver.php\n create mode 100644 app/UseCases/TeamInsights/StrictConsentColumnResolver.php\n create mode 100644 database/migrations/2026_04_14_000000_add_rockeed_partner.php\n create mode 100644 database/migrations/2026_04_22_000000_add_success_email_to_partners.php\n create mode 100644 database/migrations/2026_04_27_000000_add_label_to_partners.php\n create mode 100644 database/migrations/2026_04_29_105053_move_ask_jiminny_reports_to_grow_tier.php\n create mode 100644 front-end/src/__mocks__/kit/endpoints/automated-reports-promo.js\n create mode 100644 front-end/src/apps/ai-reports-promo.js\n create mode 100644 front-end/src/components/AiReports/AiReportsPromo.vue\n create mode 100644 front-end/src/components/AiReports/AutomatedReportsPromo/AutomatedReportsPromo.vue\n create mode 100644 front-end/src/components/AiReports/AutomatedReportsPromo/PromoCard.vue\n create mode 100644 front-end/src/components/AiReports/AutomatedReportsPromo/WhyItMattersCard.vue\n create mode 100644 front-end/src/components/AiReports/AutomatedReportsPromo/__tests__/AutomatedReportsPromo.spec.js\n create mode 100644 front-end/src/components/AiReports/AutomatedReportsPromo/__tests__/__snapshots__/automated-reports-promo.output.html\n create mode 100644 front-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vue\n create mode 100644 front-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js\n create mode 100644 front-end/src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.html\n create mode 100644 front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js\n create mode 100644 front-end/src/components/Settings/Kiosk/shared/Navigation/__tests__/Navigation.spec.js\n create mode 100644 front-end/src/components/layout/Sidebar/__tests__/HelpMenu.spec.js\n create mode 100644 front-end/src/components/layout/Sidebar/__tests__/useAiReportsSidebarButton.spec.js\n create mode 100644 front-end/src/components/layout/Sidebar/useAiReportsSidebarButton.js\n create mode 100644 front-end/src/store/modules/platform/__tests__/getters.spec.js\n create mode 100644 public/pdf/exec-reports/com/coaching-profiles.pdf\n create mode 100644 public/pdf/exec-reports/com/exec-summary.pdf\n create mode 100644 public/pdf/exec-reports/com/loss-report.pdf\n create mode 100644 public/pdf/exec-reports/com/product-feedback.pdf\n create mode 100644 public/pdf/exec-reports/eu/coaching-profiles.pdf\n create mode 100644 public/pdf/exec-reports/eu/exec-summary.pdf\n create mode 100644 public/pdf/exec-reports/eu/loss-report.pdf\n create mode 100644 public/pdf/exec-reports/eu/product-feedback.pdf\n create mode 100644 resources/views/emails/reports/ask-jiminny-report-expiring.blade.php\n create mode 100644 resources/views/emails/reports/report-not-generated.blade.php\n create mode 100644 tests/Unit/Component/Transcription/Job/FinishTranscriptionJobTest.php\n create mode 100644 tests/Unit/Component/Transcription/TranscriptionProcessor/Gong/GongTest.php\n create mode 100644 tests/Unit/Events/Activities/Audio/RecordingEventTest.php\n create mode 100644 tests/Unit/Events/Activities/Softphone/EndedTest.php\n create mode 100644 tests/Unit/Events/Activities/Softphone/SoftphoneEventTest.php\n create mode 100644 tests/Unit/Events/Activities/Softphone/StartedTest.php\n create mode 100644 tests/Unit/Http/Transformers/PartnerTransformerTest.php\n create mode 100644 tests/Unit/Jobs/AutomatedReports/SendReportExpiringSoonMailJobTest.php\n create mode 100644 tests/Unit/Jobs/AutomatedReports/SendReportNotGeneratedMailJobTest.php\n create mode 100644 tests/Unit/Listeners/Teams/SyncIntercomCompanyTest.php\n create mode 100644 tests/Unit/Listeners/Users/SyncIntercomTest.php\n create mode 100644 tests/Unit/Mail/Reports/ReportNotGeneratedTest.php\n create mode 100644 tests/Unit/Models/PartnerTest.php\n create mode 100644 tests/Unit/Services/ActivityServiceTest.php\n create mode 100644 tests/Unit/UseCases/TeamInsights/RecordingOutcomeTextResolverTest.php\n create mode 100644 tests/Unit/UseCases/TeamInsights/StrictConsentColumnResolverTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull \nremote: Enumerating objects: 628, done.\nremote: Counting objects: 100% (331/331), done.\nremote: Compressing objects: 100% (63/63), done.\nremote: Total 628 (delta 280), reused 274 (delta 266), pack-reused 297 (from 1)\nReceiving objects: 100% (628/628), 186.75 KiB | 1.23 MiB/s, done.\nResolving deltas: 100% (391/391), completed with 57 local objects.\nFrom github.com:jiminny/app\n ad2ce76737..12295204cf master -> origin/master\n 14f54b5be2..5e7646e5f9 JY-17836-participant-speeches-in-s3 -> origin/JY-17836-participant-speeches-in-s3\n b167b19973..acba55cf38 JY-20289-api-tests -> origin/JY-20289-api-tests\n f23cfee7c3..e5a3ec5dba JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null -> origin/JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n af59d60926..766efba1c5 JY-20395-fix-memory-issue-with-mail-import -> origin/JY-20395-fix-memory-issue-with-mail-import\n * [new branch] JY-20493-smart-instant-nudge-pre-filtering -> origin/JY-20493-smart-instant-nudge-pre-filtering\n 1737b7c528..c57e71e763 JY-20606-desktop-app-recall -> origin/JY-20606-desktop-app-recall\n * [new branch] JY-20671-anyvan-twilio-s3-recordings-ftech -> origin/JY-20671-anyvan-twilio-s3-recordings-ftech\n + ba181441c6...20a74137b0 JY-20742-mcp-poc -> origin/JY-20742-mcp-poc (forced update)\n * [new branch] JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20816-calendar-events-diplication -> origin/JY-20816-calendar-events-diplication\n * [new branch] desktop-app -> origin/desktop-app\n 4c4c974e46..185442c26e make-claude-great-again -> origin/make-claude-great-again\n * [new branch] mcp-tools-schemas -> origin/mcp-tools-schemas\nUpdating ad2ce76737..12295204cf\nFast-forward\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 2 +-\n app/Component/Transcription/TranscriptionProcessor/AssemblyAI/Services/SubmitAudioFileService.php | 66 ++----------------------------------------------------------------\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 24 +++++++++++++++++-------\n tests/Unit/Console/Commands/Tracks/CleanupActivityTracksCommandTest.php | 40 +++++++++++++++++++++++++++++-----------\n tests/Unit/fixtures/assembly_ai_transcript_response.json | 1 -\n tests/Unit/fixtures/assembly_ai_transcript_response_channel_diarization.json | 1 -\n tests/Unit/fixtures/assembly_ai_transcript_response_language.json | 1 -\n tests/Unit/fixtures/assembly_ai_transcript_response_language_error.json | 1 -\n tests/Unit/fixtures/assembly_ai_transcript_response_language_not_ready.json | 1 -\n tests/Unit/fixtures/assembly_ai_transcript_response_language_post.json | 1 -\n tests/Unit/fixtures/assembly_ai_transcript_response_without_utterances.json | 1 -\n 11 files changed, 49 insertions(+), 90 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20818-move-AJ-reports-to-separated-datadog-metric\nSwitched to a new branch 'JY-20818-move-AJ-reports-to-separated-datadog-metric'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20818-move-AJ-reports-to-separated-datadog-metric) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5663/5663 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5663 files in 83.615 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20818-move-AJ-reports-to-separated-datadog-metric) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\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\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-conferences:worker-conferences_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\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20818-move-AJ-reports-to-separated-datadog-metric) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5663/5663 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5663 files in 42.875 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20818-move-AJ-reports-to-separated-datadog-metric) $ git status\nOn branch master\nYour branch is up to date with 'origin/master'.\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 15, done.\nremote: Counting objects: 100% (15/15), done.\nremote: Compressing objects: 100% (2/2), done.\nremote: Total 15 (delta 13), reused 15 (delta 13), pack-reused 0 (from 0)\nUnpacking objects: 100% (15/15), 1.28 KiB | 72.00 KiB/s, done.\nFrom github.com:jiminny/app\n c57e71e763..8743fea32e JY-20606-desktop-app-recall -> origin/JY-20606-desktop-app-recall\n * [new branch] JY-20819-increase-download-transctip-rate-limit -> origin/JY-20819-increase-download-transctip-rate-limit\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull \nremote: Enumerating objects: 180, done.\nremote: Counting objects: 100% (179/179), done.\nremote: Compressing objects: 100% (55/55), done.\nremote: Total 180 (delta 127), reused 165 (delta 119), pack-reused 1 (from 1)\nReceiving objects: 100% (180/180), 57.50 KiB | 2.74 MiB/s, done.\nResolving deltas: 100% (127/127), completed with 47 local objects.\nFrom github.com:jiminny/app\n 12295204cf..35f036ace6 master -> origin/master\n * [new branch] JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 5f21965da8..497fbc85c2 JY-20493-smart-instant-nudge-pre-filtering -> origin/JY-20493-smart-instant-nudge-pre-filtering\n f029263118..6ed9e2bb13 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20817-fix-deleting-s3-directories -> origin/JY-20817-fix-deleting-s3-directories\n * [new branch] JY-20820-es-reindex-stream-model-hydration -> origin/JY-20820-es-reindex-stream-model-hydration\n + ca92730ec5...2c8a1d0856 desktop-app -> origin/desktop-app (forced update)\n 8425d4e0de..89b45ec8b0 mcp-tools-schemas -> origin/mcp-tools-schemas\nUpdating 12295204cf..35f036ace6\nFast-forward\n app/Component/Datadog/Constants.php | 1 +\n app/Providers/RouteServiceProvider.php | 2 +-\n app/Services/Kiosk/AutomatedReports/AutomatedReportsCallbackService.php | 13 +++++++++++++\n tests/Unit/Services/Kiosk/AutomatedReports/AutomatedReportsCallbackServiceTest.php | 54 +++++++++++++++++++++++++++++++++++++++++++++++-------\n 4 files changed, 62 insertions(+), 8 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ gbr \n* master\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\n JY-20160\n JY-20145-filter-out-converted-leads-when-matching\n JY-20150-skip-push-summary-on-summary-ready-if-autolog\n JY-20132-fix-note-encoding\n JY-19792-clean-logs\n JY-20117-fix-sync-profile-fields-on-empty-fields\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20725-handle-HS-search-rate-limit \nSwitched to a new branch 'JY-20725-handle-HS-search-rate-limit'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ ;xd","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) $ git status\nOn branch master\nYour branch is up to date with 'origin/master'.\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: resources/views/partials/crm/push-summary/html-assembly.blade.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 1482, done.\nremote: Counting objects: 100% (481/481), done.\nremote: Compressing objects: 100% (191/191), done.\nremote: Total 1482 (delta 349), reused 305 (delta 289), pack-reused 1001 (from 4)\nReceiving objects: 100% (1482/1482), 1017.97 KiB | 1.44 MiB/s, done.\nResolving deltas: 100% (877/877), completed with 96 local objects.\nFrom github.com:jiminny/app\n 83b628967a..ad2ce76737 master -> origin/master\n 1ee8cbcb7b..14f54b5be2 JY-17836-participant-speeches-in-s3 -> origin/JY-17836-participant-speeches-in-s3\n 5662c3b32f..b167b19973 JY-20289-api-tests -> origin/JY-20289-api-tests\n b40408cfad..f23cfee7c3 JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null -> origin/JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n * [new branch] JY-20395-fix-memory-issue-with-mail-import -> origin/JY-20395-fix-memory-issue-with-mail-import\n * [new branch] JY-20606-desktop-app-recall -> origin/JY-20606-desktop-app-recall\n * [new branch] JY-20662-remove-word-boost -> origin/JY-20662-remove-word-boost\n * [new branch] JY-20742-mcp-poc -> origin/JY-20742-mcp-poc\n * [new branch] make-claude-great-again -> origin/make-claude-great-again\n * [new branch] secfix/composer-20260507 -> origin/secfix/composer-20260507\n * [new branch] secfix/npm-20260507 -> origin/secfix/npm-20260507\nUpdating 83b628967a..ad2ce76737\nerror: Your local changes to the following files would be overwritten by merge:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tresources/views/partials/crm/push-summary/html-assembly.blade.php\nPlease commit your changes or stash them before you merge.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 83b628967a..ad2ce76737\nerror: Your local changes to the following files would be overwritten by merge:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tresources/views/partials/crm/push-summary/html-assembly.blade.php\nPlease commit your changes or stash them before you merge.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 83b628967a..ad2ce76737\nerror: Your local changes to the following files would be overwritten by merge:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/Team/SyncToIntercom.php\nPlease commit your changes or stash them before you merge.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 83b628967a..ad2ce76737\nFast-forward\n .cursor/rules/frontend-conventions.mdc | 23 ++\n .env.production-eu | 2 +-\n .env.staging | 2 +-\n Makefile | 10 +\n app/Component/ActivityAnalytics/Service/ActivityAnalyticsService.php | 6 +-\n app/Component/AiAutomation/Repositories/AiTemplateFieldsRepository.php | 32 +-\n app/Component/AiCallScoring/Repositories/AiScorecardRepository.php | 56 ++--\n app/Component/AskAnything/AskAnythingPromptService.php | 3 +\n app/Component/Transcription/Job/FinishTranscriptionJob.php | 37 ++-\n app/Component/Transcription/TranscriptionProcessor/Gong/Gong.php | 18 +-\n app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php | 4 +-\n app/Component/Twilio/Service/SoftPhoneService.php | 124 ++++---\n app/Component/Twilio/TwilioRepository.php | 27 ++\n app/Console/Commands/CoachingFeedbacksUpdateEsActivities.php | 59 ----\n app/Console/Commands/Reports/AutomatedReportsCommand.php | 122 +++++--\n app/Console/Commands/RunAiCallScoringForUntypedActivitiesCommand.php | 200 ++++++++++++\n app/Console/Commands/UpdateActivitiesAverageScoreExcludingFeedbacksNotSetVisibleToAll.php | 60 ----\n app/Console/Commands/Users/SyncToIntercom.php | 4 +-\n app/Console/Kernel.php | 3 +-\n app/Contracts/ES/Events/UpdateMultipleEntities.php | 4 -\n app/Contracts/ES/Events/UpdateSingleEntity.php | 4 -\n app/Contracts/Repositories/TeamRepository.php | 3 +-\n app/Events/Activities/ActivityUpdated.php | 10 +-\n app/Events/Activities/Audio/RecordingEvent.php | 6 +-\n app/Events/Activities/Softphone/Ended.php | 8 +-\n app/Events/Activities/Softphone/SoftphoneEvent.php | 24 +-\n app/Events/Activities/Softphone/Started.php | 8 +-\n app/Http/Controllers/API/ActivityController.php | 17 +-\n app/Http/Controllers/API/SoftphoneController.php | 9 +-\n app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php | 19 +-\n app/Http/Controllers/API/V2/AskAnythingController.php | 2 +-\n app/Http/Controllers/Auth/SocialController.php | 6 +-\n app/Http/Controllers/Kiosk/AutomatedReportsController.php | 38 ++-\n app/Http/Controllers/Kiosk/OrganizationsController.php | 8 +-\n app/Http/Controllers/Kiosk/PartnersController.php | 46 +++\n app/Http/Controllers/Kiosk/SearchController.php | 8 +\n app/Http/Controllers/Kiosk/Teams/OnboardController.php | 24 +-\n app/Http/Controllers/Settings/Teams/IntegrationController.php | 6 +-\n app/Http/Controllers/TeamSetupController.php | 4 +-\n app/Http/Controllers/Telephony/TextMessaging/MessageController.php | 12 +-\n app/Http/Controllers/Telephony/TextMessaging/WebhookController.php | 18 +-\n app/Http/Requests/Settings/Teams/CreateTeamRequest.php | 1 +\n app/Http/Requests/Settings/Teams/EditTeamRequest.php | 1 +\n app/Http/Transformers/ActivityTransformer.php | 4 +-\n app/Http/Transformers/OnDemandActivitiesTransformer.php | 2 +-\n app/Http/Transformers/PartnerTransformer.php | 1 +\n app/Http/Transformers/StageTransformer.php | 6 +-\n app/Http/Transformers/UserTransformer.php | 11 +-\n app/Interactions/Settings/Teams/CreateTeam.php | 3 +\n app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php | 80 ++++-\n app/Jobs/AutomatedReports/SendReportExpiringSoonMailJob.php | 119 +++++++\n app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php | 89 +++++\n app/Jobs/Crm/Hubspot/ImportBatchJobTrait.php | 12 +-\n app/Jobs/Crm/UpdateStage.php | 3 +\n app/Jobs/Team/SyncToIntercom.php | 7 +-\n app/Listeners/Teams/SyncIntercomCompany.php | 5 +-\n app/Listeners/Teams/UpdateSalesforceAccount.php | 8 +-\n app/Listeners/Users/SyncIntercom.php | 5 +-\n app/Mail/Reports/AskJiminnyReportExpiringMail.php | 40 +++\n app/Mail/Reports/ReportNotGenerated.php | 41 +++\n app/Models/Activity.php | 25 +-\n app/Models/Activity/Question.php | 14 +-\n app/Models/Activity/Search.php | 7 +\n app/Models/AskAnything/AskAnythingPrompt.php | 6 +\n app/Models/AutomatedReport.php | 10 +\n app/Models/CoachingFeedback.php | 44 ++-\n app/Models/ElasticSearch/ActivityElasticSearchTrait.php | 86 +----\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 71 ----\n app/Models/ElasticSearch/SharedDocumentDeleteTrait.php | 27 --\n app/Models/Partner.php | 13 +\n app/Models/Playlist/Activity.php | 14 +-\n app/Notifications/OwnerInvitedToTrial.php | 14 +-\n app/Policies/UserPolicy.php | 16 +-\n app/Queue/Worker/Worker.php | 3 +-\n app/Repositories/ActivityRepository.php | 13 +-\n app/Repositories/AutomatedReportsRepository.php | 42 ++-\n app/Repositories/TeamRepository.php | 21 +-\n app/Repositories/UserRepository.php | 2 +-\n app/Services/Activity/MeetingBotService.php | 8 +-\n app/Services/ActivityService.php | 111 ++-----\n app/Services/Crm/Hubspot/Service.php | 36 +-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 2 +-\n app/Services/Kiosk/AutomatedReports/AskJiminnyReportActivityService.php | 5 +-\n app/Services/Kiosk/AutomatedReports/AutomatedReportsService.php | 49 +--\n app/Services/Kiosk/KioskService.php | 7 +-\n app/Services/Webhook/Triggers/AiScorecardCompletedTrigger.php | 13 +-\n app/UseCases/TeamInsights/ConversationRowMapper.php | 78 +++++\n app/UseCases/TeamInsights/RecordingOutcomeTextResolver.php | 68 ++++\n app/UseCases/TeamInsights/StrictConsentColumnResolver.php | 45 +++\n app/UseCases/TeamInsights/TeamConversationsExport.php | 154 ++++-----\n composer.json | 1 -\n composer.lock | 95 +-----\n config/secure-headers.php | 5 +-\n database/mappings/mapping_activities.json | 16 +\n database/migrations/2026_04_14_000000_add_rockeed_partner.php | 51 +++\n database/migrations/2026_04_22_000000_add_success_email_to_partners.php | 26 ++\n database/migrations/2026_04_27_000000_add_label_to_partners.php | 28 ++\n database/migrations/2026_04_29_105053_move_ask_jiminny_reports_to_grow_tier.php | 79 +++++\n front-end/package.json | 5 +-\n front-end/src/__mocks__/jiminny.js | 4 +-\n front-end/src/__mocks__/kit/endpoints/automated-reports-promo.js | 9 +\n front-end/src/__mocks__/setup.js | 1 +\n front-end/src/apps/ai-reports-promo.js | 22 ++\n front-end/src/components/AiReports/AiReportsPromo.vue | 22 ++\n front-end/src/components/AiReports/AutomatedReportsPromo/AutomatedReportsPromo.vue | 190 +++++++++++\n front-end/src/components/AiReports/AutomatedReportsPromo/PromoCard.vue | 111 +++++++\n front-end/src/components/AiReports/AutomatedReportsPromo/WhyItMattersCard.vue | 103 ++++++\n front-end/src/components/AiReports/AutomatedReportsPromo/__tests__/AutomatedReportsPromo.spec.js | 98 ++++++\n .../src/components/AiReports/AutomatedReportsPromo/__tests__/__snapshots__/automated-reports-promo.output.html | 283 ++++++++++++++++\n front-end/src/components/AiReports/Manage/ManageAiReports.vue | 8 +-\n front-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vue | 228 +++++++++++++\n front-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js | 71 ++++\n .../src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.html | 217 ++++++++++++\n front-end/src/components/AiReports/constants.js | 7 +\n front-end/src/components/Settings/Kiosk/OrganizationSearch/Organizations.vue | 1 +\n front-end/src/components/Settings/Kiosk/__mocks__/Jiminny.js | 1 +\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 43 ++-\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 203 ++++++++++++\n front-end/src/components/Settings/Kiosk/shared/Navigation/Navigation.vue | 3 +\n front-end/src/components/Settings/Kiosk/shared/Navigation/__tests__/Navigation.spec.js | 67 ++++\n front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 4 +-\n front-end/src/components/TeamInsights/CoachingFrameworks/UsersList.vue | 2 +-\n front-end/src/components/layout/Sidebar/HelpMenu.vue | 25 +-\n front-end/src/components/layout/Sidebar/Sidebar.vue | 27 +-\n front-end/src/components/layout/Sidebar/__tests__/HelpMenu.spec.js | 94 ++++++\n front-end/src/components/layout/Sidebar/__tests__/__snapshots__/Sidebar.spec.js.snap | 4 +-\n front-end/src/components/layout/Sidebar/__tests__/useAiReportsSidebarButton.spec.js | 204 ++++++++++++\n front-end/src/components/layout/Sidebar/useAiReportsSidebarButton.js | 49 +++\n front-end/src/main.js | 1 +\n front-end/src/store/modules/TeamInsights/util.js | 1 +\n front-end/src/store/modules/platform/__tests__/getters.spec.js | 22 ++\n front-end/src/store/modules/platform/getters.js | 3 +\n front-end/src/utils/index.js | 11 +\n front-end/yarn.lock | 21 +-\n phpstan-baseline.neon | 60 ----\n public/pdf/exec-reports/com/coaching-profiles.pdf | Bin 0 -> 1531178 bytes\n public/pdf/exec-reports/com/exec-summary.pdf | Bin 0 -> 2237381 bytes\n public/pdf/exec-reports/com/loss-report.pdf | Bin 0 -> 1955343 bytes\n public/pdf/exec-reports/com/product-feedback.pdf | Bin 0 -> 2184417 bytes\n public/pdf/exec-reports/eu/coaching-profiles.pdf | Bin 0 -> 1528704 bytes\n public/pdf/exec-reports/eu/exec-summary.pdf | Bin 0 -> 2296741 bytes\n public/pdf/exec-reports/eu/loss-report.pdf | Bin 0 -> 1955808 bytes\n public/pdf/exec-reports/eu/product-feedback.pdf | Bin 0 -> 2184083 bytes\n resources/views/emails/reports/ask-jiminny-report-expiring.blade.php | 22 ++\n resources/views/emails/reports/report-not-generated.blade.php | 24 ++\n resources/views/partials/crm/push-summary/html-assembly.blade.php | 2 +-\n routes/api.php | 6 +\n routes/web.php | 4 +\n tests/Feature/Policies/UserPolicyTest.php | 90 ++++-\n tests/Unit/Component/ActivityAnalytics/Service/ActivityAnalyticsServiceTest.php | 40 +++\n tests/Unit/Component/AskAnything/AskAnythingPromptServiceTest.php | 26 ++\n tests/Unit/Component/Transcription/Job/FinishTranscriptionJobTest.php | 276 ++++++++++++++++\n tests/Unit/Component/Transcription/TranscriptionProcessor/Gong/GongTest.php | 375 +++++++++++++++++++++\n tests/Unit/Component/Twilio/Service/SoftPhoneServiceTest.php | 1014 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Console/Commands/Reports/AutomatedReportsCommandTest.php | 157 ++++++++-\n tests/Unit/Events/Activities/Audio/RecordingEventTest.php | 72 ++++\n tests/Unit/Events/Activities/Softphone/EndedTest.php | 86 +++++\n tests/Unit/Events/Activities/Softphone/SoftphoneEventTest.php | 88 +++++\n tests/Unit/Events/Activities/Softphone/StartedTest.php | 86 +++++\n tests/Unit/Http/Controllers/Kiosk/AutomatedReportsControllerTest.php | 99 ++++++\n tests/Unit/Http/Transformers/ActivityTransformerTest.php | 5 +-\n tests/Unit/Http/Transformers/PartnerTransformerTest.php | 34 ++\n tests/Unit/Interactions/Settings/Teams/CreateTeamTest.php | 49 +++\n tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php | 106 +++++-\n tests/Unit/Jobs/AutomatedReports/SendReportExpiringSoonMailJobTest.php | 205 ++++++++++++\n tests/Unit/Jobs/AutomatedReports/SendReportNotGeneratedMailJobTest.php | 188 +++++++++++\n tests/Unit/Jobs/Crm/ImportOpportunityBatchTest.php | 2 +-\n tests/Unit/Jobs/Team/SyncToIntercomTest.php | 6 +\n tests/Unit/Listeners/Teams/SyncIntercomCompanyTest.php | 59 ++++\n tests/Unit/Listeners/Teams/UpdateSalesforceAccountTest.php | 11 +-\n tests/Unit/Listeners/Users/SyncIntercomTest.php | 59 ++++\n tests/Unit/Mail/Reports/ReportNotGeneratedTest.php | 166 ++++++++++\n tests/Unit/Models/PartnerTest.php | 28 ++\n tests/Unit/Repositories/AutomatedReportsRepositoryTest.php | 68 ++++\n tests/Unit/Services/Activity/MeetingBotServiceRequestRecordingToStopTest.php | 14 +-\n tests/Unit/Services/ActivityServiceTest.php | 391 ++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ServiceResponseNormalizeTest.php | 68 ++--\n tests/Unit/Services/Kiosk/AutomatedReports/AskJiminnyReportActivityServiceTest.php | 48 +--\n tests/Unit/Services/Kiosk/AutomatedReports/AutomatedReportsServiceActivitiesCountTest.php | 16 +-\n tests/Unit/Services/Kiosk/AutomatedReports/AutomatedReportsServiceReportGenerationTest.php | 24 +-\n tests/Unit/Services/Kiosk/AutomatedReports/AutomatedReportsServiceTest.php | 130 ++++++++\n tests/Unit/Services/KioskServiceTest.php | 8 +\n tests/Unit/Services/Webhook/Triggers/AiScorecardCompletedTriggerTest.php | 6 +-\n tests/Unit/UseCases/TeamInsights/RecordingOutcomeTextResolverTest.php | 119 +++++++\n tests/Unit/UseCases/TeamInsights/StrictConsentColumnResolverTest.php | 108 ++++++\n tests/Unit/UseCases/TeamInsights/TeamConversationsExportTest.php | 342 ++++++++++++++-----\n 186 files changed, 8538 insertions(+), 1233 deletions(-)\n create mode 100644 app/Component/Twilio/TwilioRepository.php\n delete mode 100644 app/Console/Commands/CoachingFeedbacksUpdateEsActivities.php\n create mode 100644 app/Console/Commands/RunAiCallScoringForUntypedActivitiesCommand.php\n delete mode 100644 app/Console/Commands/UpdateActivitiesAverageScoreExcludingFeedbacksNotSetVisibleToAll.php\n create mode 100644 app/Http/Controllers/Kiosk/PartnersController.php\n create mode 100644 app/Jobs/AutomatedReports/SendReportExpiringSoonMailJob.php\n create mode 100644 app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php\n create mode 100644 app/Mail/Reports/AskJiminnyReportExpiringMail.php\n create mode 100644 app/Mail/Reports/ReportNotGenerated.php\n delete mode 100644 app/Models/ElasticSearch/SharedDocumentDeleteTrait.php\n create mode 100644 app/UseCases/TeamInsights/ConversationRowMapper.php\n create mode 100644 app/UseCases/TeamInsights/RecordingOutcomeTextResolver.php\n create mode 100644 app/UseCases/TeamInsights/StrictConsentColumnResolver.php\n create mode 100644 database/migrations/2026_04_14_000000_add_rockeed_partner.php\n create mode 100644 database/migrations/2026_04_22_000000_add_success_email_to_partners.php\n create mode 100644 database/migrations/2026_04_27_000000_add_label_to_partners.php\n create mode 100644 database/migrations/2026_04_29_105053_move_ask_jiminny_reports_to_grow_tier.php\n create mode 100644 front-end/src/__mocks__/kit/endpoints/automated-reports-promo.js\n create mode 100644 front-end/src/apps/ai-reports-promo.js\n create mode 100644 front-end/src/components/AiReports/AiReportsPromo.vue\n create mode 100644 front-end/src/components/AiReports/AutomatedReportsPromo/AutomatedReportsPromo.vue\n create mode 100644 front-end/src/components/AiReports/AutomatedReportsPromo/PromoCard.vue\n create mode 100644 front-end/src/components/AiReports/AutomatedReportsPromo/WhyItMattersCard.vue\n create mode 100644 front-end/src/components/AiReports/AutomatedReportsPromo/__tests__/AutomatedReportsPromo.spec.js\n create mode 100644 front-end/src/components/AiReports/AutomatedReportsPromo/__tests__/__snapshots__/automated-reports-promo.output.html\n create mode 100644 front-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vue\n create mode 100644 front-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js\n create mode 100644 front-end/src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.html\n create mode 100644 front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js\n create mode 100644 front-end/src/components/Settings/Kiosk/shared/Navigation/__tests__/Navigation.spec.js\n create mode 100644 front-end/src/components/layout/Sidebar/__tests__/HelpMenu.spec.js\n create mode 100644 front-end/src/components/layout/Sidebar/__tests__/useAiReportsSidebarButton.spec.js\n create mode 100644 front-end/src/components/layout/Sidebar/useAiReportsSidebarButton.js\n create mode 100644 front-end/src/store/modules/platform/__tests__/getters.spec.js\n create mode 100644 public/pdf/exec-reports/com/coaching-profiles.pdf\n create mode 100644 public/pdf/exec-reports/com/exec-summary.pdf\n create mode 100644 public/pdf/exec-reports/com/loss-report.pdf\n create mode 100644 public/pdf/exec-reports/com/product-feedback.pdf\n create mode 100644 public/pdf/exec-reports/eu/coaching-profiles.pdf\n create mode 100644 public/pdf/exec-reports/eu/exec-summary.pdf\n create mode 100644 public/pdf/exec-reports/eu/loss-report.pdf\n create mode 100644 public/pdf/exec-reports/eu/product-feedback.pdf\n create mode 100644 resources/views/emails/reports/ask-jiminny-report-expiring.blade.php\n create mode 100644 resources/views/emails/reports/report-not-generated.blade.php\n create mode 100644 tests/Unit/Component/Transcription/Job/FinishTranscriptionJobTest.php\n create mode 100644 tests/Unit/Component/Transcription/TranscriptionProcessor/Gong/GongTest.php\n create mode 100644 tests/Unit/Events/Activities/Audio/RecordingEventTest.php\n create mode 100644 tests/Unit/Events/Activities/Softphone/EndedTest.php\n create mode 100644 tests/Unit/Events/Activities/Softphone/SoftphoneEventTest.php\n create mode 100644 tests/Unit/Events/Activities/Softphone/StartedTest.php\n create mode 100644 tests/Unit/Http/Transformers/PartnerTransformerTest.php\n create mode 100644 tests/Unit/Jobs/AutomatedReports/SendReportExpiringSoonMailJobTest.php\n create mode 100644 tests/Unit/Jobs/AutomatedReports/SendReportNotGeneratedMailJobTest.php\n create mode 100644 tests/Unit/Listeners/Teams/SyncIntercomCompanyTest.php\n create mode 100644 tests/Unit/Listeners/Users/SyncIntercomTest.php\n create mode 100644 tests/Unit/Mail/Reports/ReportNotGeneratedTest.php\n create mode 100644 tests/Unit/Models/PartnerTest.php\n create mode 100644 tests/Unit/Services/ActivityServiceTest.php\n create mode 100644 tests/Unit/UseCases/TeamInsights/RecordingOutcomeTextResolverTest.php\n create mode 100644 tests/Unit/UseCases/TeamInsights/StrictConsentColumnResolverTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull \nremote: Enumerating objects: 628, done.\nremote: Counting objects: 100% (331/331), done.\nremote: Compressing objects: 100% (63/63), done.\nremote: Total 628 (delta 280), reused 274 (delta 266), pack-reused 297 (from 1)\nReceiving objects: 100% (628/628), 186.75 KiB | 1.23 MiB/s, done.\nResolving deltas: 100% (391/391), completed with 57 local objects.\nFrom github.com:jiminny/app\n ad2ce76737..12295204cf master -> origin/master\n 14f54b5be2..5e7646e5f9 JY-17836-participant-speeches-in-s3 -> origin/JY-17836-participant-speeches-in-s3\n b167b19973..acba55cf38 JY-20289-api-tests -> origin/JY-20289-api-tests\n f23cfee7c3..e5a3ec5dba JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null -> origin/JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n af59d60926..766efba1c5 JY-20395-fix-memory-issue-with-mail-import -> origin/JY-20395-fix-memory-issue-with-mail-import\n * [new branch] JY-20493-smart-instant-nudge-pre-filtering -> origin/JY-20493-smart-instant-nudge-pre-filtering\n 1737b7c528..c57e71e763 JY-20606-desktop-app-recall -> origin/JY-20606-desktop-app-recall\n * [new branch] JY-20671-anyvan-twilio-s3-recordings-ftech -> origin/JY-20671-anyvan-twilio-s3-recordings-ftech\n + ba181441c6...20a74137b0 JY-20742-mcp-poc -> origin/JY-20742-mcp-poc (forced update)\n * [new branch] JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20816-calendar-events-diplication -> origin/JY-20816-calendar-events-diplication\n * [new branch] desktop-app -> origin/desktop-app\n 4c4c974e46..185442c26e make-claude-great-again -> origin/make-claude-great-again\n * [new branch] mcp-tools-schemas -> origin/mcp-tools-schemas\nUpdating ad2ce76737..12295204cf\nFast-forward\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 2 +-\n app/Component/Transcription/TranscriptionProcessor/AssemblyAI/Services/SubmitAudioFileService.php | 66 ++----------------------------------------------------------------\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 24 +++++++++++++++++-------\n tests/Unit/Console/Commands/Tracks/CleanupActivityTracksCommandTest.php | 40 +++++++++++++++++++++++++++++-----------\n tests/Unit/fixtures/assembly_ai_transcript_response.json | 1 -\n tests/Unit/fixtures/assembly_ai_transcript_response_channel_diarization.json | 1 -\n tests/Unit/fixtures/assembly_ai_transcript_response_language.json | 1 -\n tests/Unit/fixtures/assembly_ai_transcript_response_language_error.json | 1 -\n tests/Unit/fixtures/assembly_ai_transcript_response_language_not_ready.json | 1 -\n tests/Unit/fixtures/assembly_ai_transcript_response_language_post.json | 1 -\n tests/Unit/fixtures/assembly_ai_transcript_response_without_utterances.json | 1 -\n 11 files changed, 49 insertions(+), 90 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20818-move-AJ-reports-to-separated-datadog-metric\nSwitched to a new branch 'JY-20818-move-AJ-reports-to-separated-datadog-metric'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20818-move-AJ-reports-to-separated-datadog-metric) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5663/5663 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5663 files in 83.615 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20818-move-AJ-reports-to-separated-datadog-metric) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\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\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-conferences:worker-conferences_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\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20818-move-AJ-reports-to-separated-datadog-metric) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5663/5663 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5663 files in 42.875 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20818-move-AJ-reports-to-separated-datadog-metric) $ git status\nOn branch master\nYour branch is up to date with 'origin/master'.\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 15, done.\nremote: Counting objects: 100% (15/15), done.\nremote: Compressing objects: 100% (2/2), done.\nremote: Total 15 (delta 13), reused 15 (delta 13), pack-reused 0 (from 0)\nUnpacking objects: 100% (15/15), 1.28 KiB | 72.00 KiB/s, done.\nFrom github.com:jiminny/app\n c57e71e763..8743fea32e JY-20606-desktop-app-recall -> origin/JY-20606-desktop-app-recall\n * [new branch] JY-20819-increase-download-transctip-rate-limit -> origin/JY-20819-increase-download-transctip-rate-limit\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull \nremote: Enumerating objects: 180, done.\nremote: Counting objects: 100% (179/179), done.\nremote: Compressing objects: 100% (55/55), done.\nremote: Total 180 (delta 127), reused 165 (delta 119), pack-reused 1 (from 1)\nReceiving objects: 100% (180/180), 57.50 KiB | 2.74 MiB/s, done.\nResolving deltas: 100% (127/127), completed with 47 local objects.\nFrom github.com:jiminny/app\n 12295204cf..35f036ace6 master -> origin/master\n * [new branch] JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 5f21965da8..497fbc85c2 JY-20493-smart-instant-nudge-pre-filtering -> origin/JY-20493-smart-instant-nudge-pre-filtering\n f029263118..6ed9e2bb13 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20817-fix-deleting-s3-directories -> origin/JY-20817-fix-deleting-s3-directories\n * [new branch] JY-20820-es-reindex-stream-model-hydration -> origin/JY-20820-es-reindex-stream-model-hydration\n + ca92730ec5...2c8a1d0856 desktop-app -> origin/desktop-app (forced update)\n 8425d4e0de..89b45ec8b0 mcp-tools-schemas -> origin/mcp-tools-schemas\nUpdating 12295204cf..35f036ace6\nFast-forward\n app/Component/Datadog/Constants.php | 1 +\n app/Providers/RouteServiceProvider.php | 2 +-\n app/Services/Kiosk/AutomatedReports/AutomatedReportsCallbackService.php | 13 +++++++++++++\n tests/Unit/Services/Kiosk/AutomatedReports/AutomatedReportsCallbackServiceTest.php | 54 +++++++++++++++++++++++++++++++++++++++++++++++-------\n 4 files changed, 62 insertions(+), 8 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ gbr \n* master\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\n JY-20160\n JY-20145-filter-out-converted-leads-when-matching\n JY-20150-skip-push-summary-on-summary-ready-if-autolog\n JY-20132-fix-note-encoding\n JY-19792-clean-logs\n JY-20117-fix-sync-profile-fields-on-empty-fields\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20725-handle-HS-search-rate-limit \nSwitched to a new branch 'JY-20725-handle-HS-search-rate-limit'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ ;xd","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.078457445,"height":-0.042298436},"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.27227393,"top":1.0,"width":0.005319149,"height":-0.04549086},"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.3487367,"top":1.0,"width":0.078457445,"height":-0.042298436},"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.35073137,"top":1.0,"width":0.005319149,"height":-0.04549086},"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.42719415,"top":1.0,"width":0.078457445,"height":-0.042298436},"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.42918882,"top":1.0,"width":0.005319149,"height":-0.04549086},"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.5056516,"top":1.0,"width":0.078457445,"height":-0.042298436},"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.50764626,"top":1.0,"width":0.005319149,"height":-0.04549086},"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.58410907,"top":1.0,"width":0.078457445,"height":-0.042298436},"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.58610374,"top":1.0,"width":0.005319149,"height":-0.04549086},"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.6625665,"top":1.0,"width":0.078457445,"height":-0.042298436},"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.66456115,"top":1.0,"width":0.005319149,"height":-0.04549086},"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.7273936,"top":1.0,"width":0.01861702,"height":-0.023144484},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"APP (-zsh)","depth":1,"bounds":{"left":0.4973404,"top":1.0,"width":0.024601065,"height":-0.02394259},"on_screen":true,"role_description":"text"}]...
|
-3740812631705428095
|
-2291500873346045352
|
idle
|
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) $ git status
On branch master
Your branch is up to date with 'origin/master'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
modified: resources/views/partials/crm/push-summary/html-assembly.blade.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 1482, done.
remote: Counting objects: 100% (481/481), done.
remote: Compressing objects: 100% (191/191), done.
remote: Total 1482 (delta 349), reused 305 (delta 289), pack-reused 1001 (from 4)
Receiving objects: 100% (1482/1482), 1017.97 KiB | 1.44 MiB/s, done.
Resolving deltas: 100% (877/877), completed with 96 local objects.
From github.com:jiminny/app
83b628967a..ad2ce76737 master -> origin/master
1ee8cbcb7b..14f54b5be2 JY-17836-participant-speeches-in-s3 -> origin/JY-17836-participant-speeches-in-s3
5662c3b32f..b167b19973 JY-20289-api-tests -> origin/JY-20289-api-tests
b40408cfad..f23cfee7c3 JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null -> origin/JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
* [new branch] JY-20395-fix-memory-issue-with-mail-import -> origin/JY-20395-fix-memory-issue-with-mail-import
* [new branch] JY-20606-desktop-app-recall -> origin/JY-20606-desktop-app-recall
* [new branch] JY-20662-remove-word-boost -> origin/JY-20662-remove-word-boost
* [new branch] JY-20742-mcp-poc -> origin/JY-20742-mcp-poc
* [new branch] make-claude-great-again -> origin/make-claude-great-again
* [new branch] secfix/composer-20260507 -> origin/secfix/composer-20260507
* [new branch] secfix/npm-20260507 -> origin/secfix/npm-20260507
Updating 83b628967a..ad2ce76737
error: Your local changes to the following files would be overwritten by merge:
app/Jobs/Team/SyncToIntercom.php
resources/views/partials/crm/push-summary/html-assembly.blade.php
Please commit your changes or stash them before you merge.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 83b628967a..ad2ce76737
error: Your local changes to the following files would be overwritten by merge:
app/Jobs/Team/SyncToIntercom.php
resources/views/partials/crm/push-summary/html-assembly.blade.php
Please commit your changes or stash them before you merge.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 83b628967a..ad2ce76737
error: Your local changes to the following files would be overwritten by merge:
app/Jobs/Team/SyncToIntercom.php
Please commit your changes or stash them before you merge.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 83b628967a..ad2ce76737
Fast-forward
.cursor/rules/frontend-conventions.mdc | 23 ++
.env.production-eu | 2 +-
.env.staging | 2 +-
Makefile | 10 +
app/Component/ActivityAnalytics/Service/ActivityAnalyticsService.php | 6 +-
app/Component/AiAutomation/Repositories/AiTemplateFieldsRepository.php | 32 +-
app/Component/AiCallScoring/Repositories/AiScorecardRepository.php | 56 ++--
app/Component/AskAnything/AskAnythingPromptService.php | 3 +
app/Component/Transcription/Job/FinishTranscriptionJob.php | 37 ++-
app/Component/Transcription/TranscriptionProcessor/Gong/Gong.php | 18 +-
app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php | 4 +-
app/Component/Twilio/Service/SoftPhoneService.php | 124 ++++---
app/Component/Twilio/TwilioRepository.php | 27 ++
app/Console/Commands/CoachingFeedbacksUpdateEsActivities.php | 59 ----
app/Console/Commands/Reports/AutomatedReportsCommand.php | 122 +++++--
app/Console/Commands/RunAiCallScoringForUntypedActivitiesCommand.php | 200 ++++++++++++
app/Console/Commands/UpdateActivitiesAverageScoreExcludingFeedbacksNotSetVisibleToAll.php | 60 ----
app/Console/Commands/Users/SyncToIntercom.php | 4 +-
app/Console/Kernel.php | 3 +-
app/Contracts/ES/Events/UpdateMultipleEntities.php | 4 -
app/Contracts/ES/Events/UpdateSingleEntity.php | 4 -
app/Contracts/Repositories/TeamRepository.php | 3 +-
app/Events/Activities/ActivityUpdated.php | 10 +-
app/Events/Activities/Audio/RecordingEvent.php | 6 +-
app/Events/Activities/Softphone/Ended.php | 8 +-
app/Events/Activities/Softphone/SoftphoneEvent.php | 24 +-
app/Events/Activities/Softphone/Started.php | 8 +-
app/Http/Controllers/API/ActivityController.php | 17 +-
app/Http/Controllers/API/SoftphoneController.php | 9 +-
app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php | 19 +-
app/Http/Controllers/API/V2/AskAnythingController.php | 2 +-
app/Http/Controllers/Auth/SocialController.php | 6 +-
app/Http/Controllers/Kiosk/AutomatedReportsController.php | 38 ++-
app/Http/Controllers/Kiosk/OrganizationsController.php | 8 +-
app/Http/Controllers/Kiosk/PartnersController.php | 46 +++
app/Http/Controllers/Kiosk/SearchController.php | 8 +
app/Http/Controllers/Kiosk/Teams/OnboardController.php | 24 +-
app/Http/Controllers/Settings/Teams/IntegrationController.php | 6 +-
app/Http/Controllers/TeamSetupController.php | 4 +-
app/Http/Controllers/Telephony/TextMessaging/MessageController.php | 12 +-
app/Http/Controllers/Telephony/TextMessaging/WebhookController.php | 18 +-
app/Http/Requests/Settings/Teams/CreateTeamRequest.php | 1 +
app/Http/Requests/Settings/Teams/EditTeamRequest.php | 1 +
app/Http/Transformers/ActivityTransformer.php | 4 +-
app/Http/Transformers/OnDemandActivitiesTransformer.php | 2 +-
app/Http/Transformers/PartnerTransformer.php | 1 +
app/Http/Transformers/StageTransformer.php | 6 +-
app/Http/Transformers/UserTransformer.php | 11 +-
app/Interactions/Settings/Teams/CreateTeam.php | 3 +
app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php | 80 ++++-
app/Jobs/AutomatedReports/SendReportExpiringSoonMailJob.php | 119 +++++++
app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php | 89 +++++
app/Jobs/Crm/Hubspot/ImportBatchJobTrait.php | 12 +-
app/Jobs/Crm/UpdateStage.php | 3 +
app/Jobs/Team/SyncToIntercom.php | 7 +-
app/Listeners/Teams/SyncIntercomCompany.php | 5 +-
app/Listeners/Teams/UpdateSalesforceAccount.php | 8 +-
app/Listeners/Users/SyncIntercom.php | 5 +-
app/Mail/Reports/AskJiminnyReportExpiringMail.php | 40 +++
app/Mail/Reports/ReportNotGenerated.php | 41 +++
app/Models/Activity.php | 25 +-
app/Models/Activity/Question.php | 14 +-
app/Models/Activity/Search.php | 7 +
app/Models/AskAnything/AskAnythingPrompt.php | 6 +
app/Models/AutomatedReport.php | 10 +
app/Models/CoachingFeedback.php | 44 ++-
app/Models/ElasticSearch/ActivityElasticSearchTrait.php | 86 +----
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 71 ----
app/Models/ElasticSearch/SharedDocumentDeleteTrait.php | 27 --
app/Models/Partner.php | 13 +
app/Models/Playlist/Activity.php | 14 +-
app/Notifications/OwnerInvitedToTrial.php | 14 +-
app/Policies/UserPolicy.php | 16 +-
app/Queue/Worker/Worker.php | 3 +-
app/Repositories/ActivityRepository.php | 13 +-
app/Repositories/AutomatedReportsRepository.php | 42 ++-
app/Repositories/TeamRepository.php | 21 +-
app/Repositories/UserRepository.php | 2 +-
app/Services/Activity/MeetingBotService.php | 8 +-
app/Services/ActivityService.php | 111 ++-----
app/Services/Crm/Hubspot/Service.php | 36 +-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 2 +-
app/Services/Kiosk/AutomatedReports/AskJiminnyReportActivityService.php | 5 +-
app/Services/Kiosk/AutomatedReports/AutomatedReportsService.php | 49 +--
app/Services/Kiosk/KioskService.php | 7 +-
app/Services/Webhook/Triggers/AiScorecardCompletedTrigger.php | 13 +-
app/UseCases/TeamInsights/ConversationRowMapper.php | 78 +++++
app/UseCases/TeamInsights/RecordingOutcomeTextResolver.php | 68 ++++
app/UseCases/TeamInsights/StrictConsentColumnResolver.php | 45 +++
app/UseCases/TeamInsights/TeamConversationsExport.php | 154 ++++-----
composer.json | 1 -
composer.lock | 95 +-----
config/secure-headers.php | 5 +-
database/mappings/mapping_activities.json | 16 +
database/migrations/2026_04_14_000000_add_rockeed_partner.php | 51 +++
database/migrations/2026_04_22_000000_add_success_email_to_partners.php | 26 ++
database/migrations/2026_04_27_000000_add_label_to_partners.php | 28 ++
database/migrations/2026_04_29_105053_move_ask_jiminny_reports_to_grow_tier.php | 79 +++++
front-end/package.json | 5 +-
front-end/src/__mocks__/jiminny.js | 4 +-
front-end/src/__mocks__/kit/endpoints/automated-reports-promo.js | 9 +
front-end/src/__mocks__/setup.js | 1 +
front-end/src/apps/ai-reports-promo.js | 22 ++
front-end/src/components/AiReports/AiReportsPromo.vue | 22 ++
front-end/src/components/AiReports/AutomatedReportsPromo/AutomatedReportsPromo.vue | 190 +++++++++++
front-end/src/components/AiReports/AutomatedReportsPromo/PromoCard.vue | 111 +++++++
front-end/src/components/AiReports/AutomatedReportsPromo/WhyItMattersCard.vue | 103 ++++++
front-end/src/components/AiReports/AutomatedReportsPromo/__tests__/AutomatedReportsPromo.spec.js | 98 ++++++
.../src/components/AiReports/AutomatedReportsPromo/__tests__/__snapshots__/automated-reports-promo.output.html | 283 ++++++++++++++++
front-end/src/components/AiReports/Manage/ManageAiReports.vue | 8 +-
front-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vue | 228 +++++++++++++
front-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js | 71 ++++
.../src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.html | 217 ++++++++++++
front-end/src/components/AiReports/constants.js | 7 +
front-end/src/components/Settings/Kiosk/OrganizationSearch/Organizations.vue | 1 +
front-end/src/components/Settings/Kiosk/__mocks__/Jiminny.js | 1 +
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 43 ++-
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 203 ++++++++++++
front-end/src/components/Settings/Kiosk/shared/Navigation/Navigation.vue | 3 +
front-end/src/components/Settings/Kiosk/shared/Navigation/__tests__/Navigation.spec.js | 67 ++++
front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 4 +-
front-end/src/components/TeamInsights/CoachingFrameworks/UsersList.vue | 2 +-
front-end/src/components/layout/Sidebar/HelpMenu.vue | 25 +-
front-end/src/components/layout/Sidebar/Sidebar.vue | 27 +-
front-end/src/components/layout/Sidebar/__tests__/HelpMenu.spec.js | 94 ++++++
front-end/src/components/layout/Sidebar/__tests__/__snapshots__/Sidebar.spec.js.snap | 4 +-
front-end/src/components/layout/Sidebar/__tests__/useAiReportsSidebarButton.spec.js | 204 ++++++++++++
front-end/src/components/layout/Sidebar/useAiReportsSidebarButton.js | 49 +++
front-end/src/main.js | 1 +
front-end/src/store/modules/TeamInsights/util.js | 1 +
front-end/src/store/modules/platform/__tests__/getters.spec.js | 22 ++
front-end/src/store/modules/platform/getters.js | 3 +
front-end/src/utils/index.js | 11 +
front-end/yarn.lock | 21 +-
phpstan-baseline.neon | 60 ----
public/pdf/exec-reports/com/coaching-profiles.pdf | Bin 0 -> 1531178 bytes
public/pdf/exec-reports/com/exec-summary.pdf | Bin 0 -> 2237381 bytes
public/pdf/exec-reports/com/loss-report.pdf | Bin 0 -> 1955343 bytes
public/pdf/exec-reports/com/product-feedback.pdf | Bin 0 -> 2184417 bytes
public/pdf/exec-reports/eu/coaching-profiles.pdf | Bin 0 -> 1528704 bytes
public/pdf/exec-reports/eu/exec-summary.pdf | Bin 0 -> 2296741 bytes
public/pdf/exec-reports/eu/loss-report.pdf | Bin 0 -> 1955808 bytes
public/pdf/exec-reports/eu/product-feedback.pdf | Bin 0 -> 2184083 bytes
resources/views/emails/reports/ask-jiminny-report-expiring.blade.php | 22 ++
resources/views/emails/reports/report-not-generated.blade.php | 24 ++
resources/views/partials/crm/push-summary/html-assembly.blade.php | 2 +-
routes/api.php | 6 +
routes/web.php | 4 +
tests/Feature/Policies/UserPolicyTest.php | 90 ++++-
tests/Unit/Component/ActivityAnalytics/Service/ActivityAnalyticsServiceTest.php | 40 +++
tests/Unit/Component/AskAnything/AskAnythingPromptServiceTest.php | 26 ++
tests/Unit/Component/Transcription/Job/FinishTranscriptionJobTest.php | 276 ++++++++++++++++
tests/Unit/Component/Transcription/TranscriptionProcessor/Gong/GongTest.php | 375 +++++++++++++++++++++
tests/Unit/Component/Twilio/Service/SoftPhoneServiceTest.php | 1014 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--
tests/Unit/Console/Commands/Reports/AutomatedReportsCommandTest.php | 157 ++++++++-
tests/Unit/Events/Activities/Audio/RecordingEventTest.php | 72 ++++
tests/Unit/Events/Activities/Softphone/EndedTest.php | 86 +++++
tests/Unit/Events/Activities/Softphone/SoftphoneEventTest.php | 88 +++++
tests/Unit/Events/Activities/Softphone/StartedTest.php | 86 +++++
tests/Unit/Http/Controllers/Kiosk/AutomatedReportsControllerTest.php | 99 ++++++
tests/Unit/Http/Transformers/ActivityTransformerTest.php | 5 +-
tests/Unit/Http/Transformers/PartnerTransformerTest.php | 34 ++
tests/Unit/Interactions/Settings/Teams/CreateTeamTest.php | 49 +++
tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php | 106 +++++-
tests/Unit/Jobs/AutomatedReports/SendReportExpiringSoonMailJobTest.php | 205 ++++++++++++
tests/Unit/Jobs/AutomatedReports/SendReportNotGeneratedMailJobTest.php | 188 +++++++++++
tests/Unit/Jobs/Crm/ImportOpportunityBatchTest.php | 2 +-
tests/Unit/Jobs/Team/SyncToIntercomTest.php | 6 +
tests/Unit/Listeners/Teams/SyncIntercomCompanyTest.php | 59 ++++
tests/Unit/Listeners/Teams/UpdateSalesforceAccountTest.php | 11 +-
tests/Unit/Listeners/Users/SyncIntercomTest.php | 59 ++++
tests/Unit/Mail/Reports/ReportNotGeneratedTest.php | 166 ++++++++++
tests/Unit/Models/PartnerTest.php | 28 ++
tests/Unit/Repositories/AutomatedReportsRepositoryTest.php | 68 ++++
tests/Unit/Services/Activity/MeetingBotServiceRequestRecordingToStopTest.php | 14 +-
tests/Unit/Services/ActivityServiceTest.php | 391 ++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ServiceResponseNormalizeTest.php | 68 ++--
tests/Unit/Services/Kiosk/AutomatedReports/AskJiminnyReportActivityServiceTest.php | 48 +--
tests/Unit/Services/Kiosk/AutomatedReports/AutomatedReportsServiceActivitiesCountTest.php | 16 +-
tests/Unit/Services/Kiosk/AutomatedReports/AutomatedReportsServiceReportGenerationTest.php | 24 +-
tests/Unit/Services/Kiosk/AutomatedReports/AutomatedReportsServiceTest.php | 130 ++++++++
tests/Unit/Services/KioskServiceTest.php | 8 +
tests/Unit/Services/Webhook/Triggers/AiScorecardCompletedTriggerTest.php | 6 +-
tests/Unit/UseCases/TeamInsights/RecordingOutcomeTextResolverTest.php | 119 +++++++
tests/Unit/UseCases/TeamInsights/StrictConsentColumnResolverTest.php | 108 ++++++
tests/Unit/UseCases/TeamInsights/TeamConversationsExportTest.php | 342 ++++++++++++++-----
186 files changed, 8538 insertions(+), 1233 deletions(-)
create mode 100644 app/Component/Twilio/TwilioRepository.php
delete mode 100644 app/Console/Commands/CoachingFeedbacksUpdateEsActivities.php
create mode 100644 app/Console/Commands/RunAiCallScoringForUntypedActivitiesCommand.php
delete mode 100644 app/Console/Commands/UpdateActivitiesAverageScoreExcludingFeedbacksNotSetVisibleToAll.php
create mode 100644 app/Http/Controllers/Kiosk/PartnersController.php
create mode 100644 app/Jobs/AutomatedReports/SendReportExpiringSoonMailJob.php
create mode 100644 app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php
create mode 100644 app/Mail/Reports/AskJiminnyReportExpiringMail.php
create mode 100644 app/Mail/Reports/ReportNotGenerated.php
delete mode 100644 app/Models/ElasticSearch/SharedDocumentDeleteTrait.php
create mode 100644 app/UseCases/TeamInsights/ConversationRowMapper.php
create mode 100644 app/UseCases/TeamInsights/RecordingOutcomeTextResolver.php
create mode 100644 app/UseCases/TeamInsights/StrictConsentColumnResolver.php
create mode 100644 database/migrations/2026_04_14_000000_add_rockeed_partner.php
create mode 100644 database/migrations/2026_04_22_000000_add_success_email_to_partners.php
create mode 100644 database/migrations/2026_04_27_000000_add_label_to_partners.php
create mode 100644 database/migrations/2026_04_29_105053_move_ask_jiminny_reports_to_grow_tier.php
create mode 100644 front-end/src/__mocks__/kit/endpoints/automated-reports-promo.js
create mode 100644 front-end/src/apps/ai-reports-promo.js
create mode 100644 front-end/src/components/AiReports/AiReportsPromo.vue
create mode 100644 front-end/src/components/AiReports/AutomatedReportsPromo/AutomatedReportsPromo.vue
create mode 100644 front-end/src/components/AiReports/AutomatedReportsPromo/PromoCard.vue
create mode 100644 front-end/src/components/AiReports/AutomatedReportsPromo/WhyItMattersCard.vue
create mode 100644 front-end/src/components/AiReports/AutomatedReportsPromo/__tests__/AutomatedReportsPromo.spec.js
create mode 100644 front-end/src/components/AiReports/AutomatedReportsPromo/__tests__/__snapshots__/automated-reports-promo.output.html
create mode 100644 front-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vue
create mode 100644 front-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js
create mode 100644 front-end/src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.html
create mode 100644 front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js
create mode 100644 front-end/src/components/Settings/Kiosk/shared/Navigation/__tests__/Navigation.spec.js
create mode 100644 front-end/src/components/layout/Sidebar/__tests__/HelpMenu.spec.js
create mode 100644 front-end/src/components/layout/Sidebar/__tests__/useAiReportsSidebarButton.spec.js
create mode 100644 front-end/src/components/layout/Sidebar/useAiReportsSidebarButton.js
create mode 100644 front-end/src/store/modules/platform/__tests__/getters.spec.js
create mode 100644 public/pdf/exec-reports/com/coaching-profiles.pdf
create mode 100644 public/pdf/exec-reports/com/exec-summary.pdf
create mode 100644 public/pdf/exec-reports/com/loss-report.pdf
create mode 100644 public/pdf/exec-reports/com/product-feedback.pdf
create mode 100644 public/pdf/exec-reports/eu/coaching-profiles.pdf
create mode 100644 public/pdf/exec-reports/eu/exec-summary.pdf
create mode 100644 public/pdf/exec-reports/eu/loss-report.pdf
create mode 100644 public/pdf/exec-reports/eu/product-feedback.pdf
create mode 100644 resources/views/emails/reports/ask-jiminny-report-expiring.blade.php
create mode 100644 resources/views/emails/reports/report-not-generated.blade.php
create mode 100644 tests/Unit/Component/Transcription/Job/FinishTranscriptionJobTest.php
create mode 100644 tests/Unit/Component/Transcription/TranscriptionProcessor/Gong/GongTest.php
create mode 100644 tests/Unit/Events/Activities/Audio/RecordingEventTest.php
create mode 100644 tests/Unit/Events/Activities/Softphone/EndedTest.php
create mode 100644 tests/Unit/Events/Activities/Softphone/SoftphoneEventTest.php
create mode 100644 tests/Unit/Events/Activities/Softphone/StartedTest.php
create mode 100644 tests/Unit/Http/Transformers/PartnerTransformerTest.php
create mode 100644 tests/Unit/Jobs/AutomatedReports/SendReportExpiringSoonMailJobTest.php
create mode 100644 tests/Unit/Jobs/AutomatedReports/SendReportNotGeneratedMailJobTest.php
create mode 100644 tests/Unit/Listeners/Teams/SyncIntercomCompanyTest.php
create mode 100644 tests/Unit/Listeners/Users/SyncIntercomTest.php
create mode 100644 tests/Unit/Mail/Reports/ReportNotGeneratedTest.php
create mode 100644 tests/Unit/Models/PartnerTest.php
create mode 100644 tests/Unit/Services/ActivityServiceTest.php
create mode 100644 tests/Unit/UseCases/TeamInsights/RecordingOutcomeTextResolverTest.php
create mode 100644 tests/Unit/UseCases/TeamInsights/StrictConsentColumnResolverTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 628, done.
remote: Counting objects: 100% (331/331), done.
remote: Compressing objects: 100% (63/63), done.
remote: Total 628 (delta 280), reused 274 (delta 266), pack-reused 297 (from 1)
Receiving objects: 100% (628/628), 186.75 KiB | 1.23 MiB/s, done.
Resolving deltas: 100% (391/391), completed with 57 local objects.
From github.com:jiminny/app
ad2ce76737..12295204cf master -> origin/master
14f54b5be2..5e7646e5f9 JY-17836-participant-speeches-in-s3 -> origin/JY-17836-participant-speeches-in-s3
b167b19973..acba55cf38 JY-20289-api-tests -> origin/JY-20289-api-tests
f23cfee7c3..e5a3ec5dba JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null -> origin/JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
af59d60926..766efba1c5 JY-20395-fix-memory-issue-with-mail-import -> origin/JY-20395-fix-memory-issue-with-mail-import
* [new branch] JY-20493-smart-instant-nudge-pre-filtering -> origin/JY-20493-smart-instant-nudge-pre-filtering
1737b7c528..c57e71e763 JY-20606-desktop-app-recall -> origin/JY-20606-desktop-app-recall
* [new branch] JY-20671-anyvan-twilio-s3-recordings-ftech -> origin/JY-20671-anyvan-twilio-s3-recordings-ftech
+ ba181441c6...20a74137b0 JY-20742-mcp-poc -> origin/JY-20742-mcp-poc (forced update)
* [new branch] JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20816-calendar-events-diplication -> origin/JY-20816-calendar-events-diplication
* [new branch] desktop-app -> origin/desktop-app
4c4c974e46..185442c26e make-claude-great-again -> origin/make-claude-great-again
* [new branch] mcp-tools-schemas -> origin/mcp-tools-schemas
Updating ad2ce76737..12295204cf
Fast-forward
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 2 +-
app/Component/Transcription/TranscriptionProcessor/AssemblyAI/Services/SubmitAudioFileService.php | 66 ++----------------------------------------------------------------
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 24 +++++++++++++++++-------
tests/Unit/Console/Commands/Tracks/CleanupActivityTracksCommandTest.php | 40 +++++++++++++++++++++++++++++-----------
tests/Unit/fixtures/assembly_ai_transcript_response.json | 1 -
tests/Unit/fixtures/assembly_ai_transcript_response_channel_diarization.json | 1 -
tests/Unit/fixtures/assembly_ai_transcript_response_language.json | 1 -
tests/Unit/fixtures/assembly_ai_transcript_response_language_error.json | 1 -
tests/Unit/fixtures/assembly_ai_transcript_response_language_not_ready.json | 1 -
tests/Unit/fixtures/assembly_ai_transcript_response_language_post.json | 1 -
tests/Unit/fixtures/assembly_ai_transcript_response_without_utterances.json | 1 -
11 files changed, 49 insertions(+), 90 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20818-move-AJ-reports-to-separated-datadog-metric
Switched to a new branch 'JY-20818-move-AJ-reports-to-separated-datadog-metric'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20818-move-AJ-reports-to-separated-datadog-metric) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5663/5663 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5663 files in 83.615 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20818-move-AJ-reports-to-separated-datadog-metric) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5663/5663 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5663 files in 42.875 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 15, done.
remote: Counting objects: 100% (15/15), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 15 (delta 13), reused 15 (delta 13), pack-reused 0 (from 0)
Unpacking objects: 100% (15/15), 1.28 KiB | 72.00 KiB/s, done.
From github.com:jiminny/app
c57e71e763..8743fea32e JY-20606-desktop-app-recall -> origin/JY-20606-desktop-app-recall
* [new branch] JY-20819-increase-download-transctip-rate-limit -> origin/JY-20819-increase-download-transctip-rate-limit
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 180, done.
remote: Counting objects: 100% (179/179), done.
remote: Compressing objects: 100% (55/55), done.
remote: Total 180 (delta 127), reused 165 (delta 119), pack-reused 1 (from 1)
Receiving objects: 100% (180/180), 57.50 KiB | 2.74 MiB/s, done.
Resolving deltas: 100% (127/127), completed with 47 local objects.
From github.com:jiminny/app
12295204cf..35f036ace6 master -> origin/master
* [new branch] JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
5f21965da8..497fbc85c2 JY-20493-smart-instant-nudge-pre-filtering -> origin/JY-20493-smart-instant-nudge-pre-filtering
f029263118..6ed9e2bb13 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20817-fix-deleting-s3-directories -> origin/JY-20817-fix-deleting-s3-directories
* [new branch] JY-20820-es-reindex-stream-model-hydration -> origin/JY-20820-es-reindex-stream-model-hydration
+ ca92730ec5...2c8a1d0856 desktop-app -> origin/desktop-app (forced update)
8425d4e0de..89b45ec8b0 mcp-tools-schemas -> origin/mcp-tools-schemas
Updating 12295204cf..35f036ace6
Fast-forward
app/Component/Datadog/Constants.php | 1 +
app/Providers/RouteServiceProvider.php | 2 +-
app/Services/Kiosk/AutomatedReports/AutomatedReportsCallbackService.php | 13 +++++++++++++
tests/Unit/Services/Kiosk/AutomatedReports/AutomatedReportsCallbackServiceTest.php | 54 +++++++++++++++++++++++++++++++++++++++++++++++-------
4 files changed, 62 insertions(+), 8 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ gbr
* master
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
JY-20160
JY-20145-filter-out-converted-leads-when-matching
JY-20150-skip-push-summary-on-summary-ready-if-autolog
JY-20132-fix-note-encoding
JY-19792-clean-logs
JY-20117-fix-sync-profile-fields-on-empty-fields
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20725-handle-HS-search-rate-limit
Switched to a new branch 'JY-20725-handle-HS-search-rate-limit'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ ;xd
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
⌥⌘1
APP (-zsh)...
|
17056
|
NULL
|
NULL
|
NULL
|
|
17057
|
NULL
|
0
|
2026-05-11T10:00:47.972904+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778493647972_m1.jpg...
|
iTerm2
|
APP (-zsh)
|
1
|
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) $ git status
On branch master
Your branch is up to date with 'origin/master'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
modified: resources/views/partials/crm/push-summary/html-assembly.blade.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 1482, done.
remote: Counting objects: 100% (481/481), done.
remote: Compressing objects: 100% (191/191), done.
remote: Total 1482 (delta 349), reused 305 (delta 289), pack-reused 1001 (from 4)
Receiving objects: 100% (1482/1482), 1017.97 KiB | 1.44 MiB/s, done.
Resolving deltas: 100% (877/877), completed with 96 local objects.
From github.com:jiminny/app
83b628967a..ad2ce76737 master -> origin/master
1ee8cbcb7b..14f54b5be2 JY-17836-participant-speeches-in-s3 -> origin/JY-17836-participant-speeches-in-s3
5662c3b32f..b167b19973 JY-20289-api-tests -> origin/JY-20289-api-tests
b40408cfad..f23cfee7c3 JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null -> origin/JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
* [new branch] JY-20395-fix-memory-issue-with-mail-import -> origin/JY-20395-fix-memory-issue-with-mail-import
* [new branch] JY-20606-desktop-app-recall -> origin/JY-20606-desktop-app-recall
* [new branch] JY-20662-remove-word-boost -> origin/JY-20662-remove-word-boost
* [new branch] JY-20742-mcp-poc -> origin/JY-20742-mcp-poc
* [new branch] make-claude-great-again -> origin/make-claude-great-again
* [new branch] secfix/composer-20260507 -> origin/secfix/composer-20260507
* [new branch] secfix/npm-20260507 -> origin/secfix/npm-20260507
Updating 83b628967a..ad2ce76737
error: Your local changes to the following files would be overwritten by merge:
app/Jobs/Team/SyncToIntercom.php
resources/views/partials/crm/push-summary/html-assembly.blade.php
Please commit your changes or stash them before you merge.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 83b628967a..ad2ce76737
error: Your local changes to the following files would be overwritten by merge:
app/Jobs/Team/SyncToIntercom.php
resources/views/partials/crm/push-summary/html-assembly.blade.php
Please commit your changes or stash them before you merge.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 83b628967a..ad2ce76737
error: Your local changes to the following files would be overwritten by merge:
app/Jobs/Team/SyncToIntercom.php
Please commit your changes or stash them before you merge.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 83b628967a..ad2ce76737
Fast-forward
.cursor/rules/frontend-conventions.mdc | 23 ++
.env.production-eu | 2 +-
.env.staging | 2 +-
Makefile | 10 +
app/Component/ActivityAnalytics/Service/ActivityAnalyticsService.php | 6 +-
app/Component/AiAutomation/Repositories/AiTemplateFieldsRepository.php | 32 +-
app/Component/AiCallScoring/Repositories/AiScorecardRepository.php | 56 ++--
app/Component/AskAnything/AskAnythingPromptService.php | 3 +
app/Component/Transcription/Job/FinishTranscriptionJob.php | 37 ++-
app/Component/Transcription/TranscriptionProcessor/Gong/Gong.php | 18 +-
app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php | 4 +-
app/Component/Twilio/Service/SoftPhoneService.php | 124 ++++---
app/Component/Twilio/TwilioRepository.php | 27 ++
app/Console/Commands/CoachingFeedbacksUpdateEsActivities.php | 59 ----
app/Console/Commands/Reports/AutomatedReportsCommand.php | 122 +++++--
app/Console/Commands/RunAiCallScoringForUntypedActivitiesCommand.php | 200 ++++++++++++
app/Console/Commands/UpdateActivitiesAverageScoreExcludingFeedbacksNotSetVisibleToAll.php | 60 ----
app/Console/Commands/Users/SyncToIntercom.php | 4 +-
app/Console/Kernel.php | 3 +-
app/Contracts/ES/Events/UpdateMultipleEntities.php | 4 -
app/Contracts/ES/Events/UpdateSingleEntity.php | 4 -
app/Contracts/Repositories/TeamRepository.php | 3 +-
app/Events/Activities/ActivityUpdated.php | 10 +-
app/Events/Activities/Audio/RecordingEvent.php | 6 +-
app/Events/Activities/Softphone/Ended.php | 8 +-
app/Events/Activities/Softphone/SoftphoneEvent.php | 24 +-
app/Events/Activities/Softphone/Started.php | 8 +-
app/Http/Controllers/API/ActivityController.php | 17 +-
app/Http/Controllers/API/SoftphoneController.php | 9 +-
app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php | 19 +-
app/Http/Controllers/API/V2/AskAnythingController.php | 2 +-
app/Http/Controllers/Auth/SocialController.php | 6 +-
app/Http/Controllers/Kiosk/AutomatedReportsController.php | 38 ++-
app/Http/Controllers/Kiosk/OrganizationsController.php | 8 +-
app/Http/Controllers/Kiosk/PartnersController.php | 46 +++
app/Http/Controllers/Kiosk/SearchController.php | 8 +
app/Http/Controllers/Kiosk/Teams/OnboardController.php | 24 +-
app/Http/Controllers/Settings/Teams/IntegrationController.php | 6 +-
app/Http/Controllers/TeamSetupController.php | 4 +-
app/Http/Controllers/Telephony/TextMessaging/MessageController.php | 12 +-
app/Http/Controllers/Telephony/TextMessaging/WebhookController.php | 18 +-
app/Http/Requests/Settings/Teams/CreateTeamRequest.php | 1 +
app/Http/Requests/Settings/Teams/EditTeamRequest.php | 1 +
app/Http/Transformers/ActivityTransformer.php | 4 +-
app/Http/Transformers/OnDemandActivitiesTransformer.php | 2 +-
app/Http/Transformers/PartnerTransformer.php | 1 +
app/Http/Transformers/StageTransformer.php | 6 +-
app/Http/Transformers/UserTransformer.php | 11 +-
app/Interactions/Settings/Teams/CreateTeam.php | 3 +
app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php | 80 ++++-
app/Jobs/AutomatedReports/SendReportExpiringSoonMailJob.php | 119 +++++++
app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php | 89 +++++
app/Jobs/Crm/Hubspot/ImportBatchJobTrait.php | 12 +-
app/Jobs/Crm/UpdateStage.php | 3 +
app/Jobs/Team/SyncToIntercom.php | 7 +-
app/Listeners/Teams/SyncIntercomCompany.php | 5 +-
app/Listeners/Teams/UpdateSalesforceAccount.php | 8 +-
app/Listeners/Users/SyncIntercom.php | 5 +-
app/Mail/Reports/AskJiminnyReportExpiringMail.php | 40 +++
app/Mail/Reports/ReportNotGenerated.php | 41 +++
app/Models/Activity.php | 25 +-
app/Models/Activity/Question.php | 14 +-
app/Models/Activity/Search.php | 7 +
app/Models/AskAnything/AskAnythingPrompt.php | 6 +
app/Models/AutomatedReport.php | 10 +
app/Models/CoachingFeedback.php | 44 ++-
app/Models/ElasticSearch/ActivityElasticSearchTrait.php | 86 +----
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 71 ----
app/Models/ElasticSearch/SharedDocumentDeleteTrait.php | 27 --
app/Models/Partner.php | 13 +
app/Models/Playlist/Activity.php | 14 +-
app/Notifications/OwnerInvitedToTrial.php | 14 +-
app/Policies/UserPolicy.php | 16 +-
app/Queue/Worker/Worker.php | 3 +-
app/Repositories/ActivityRepository.php | 13 +-
app/Repositories/AutomatedReportsRepository.php | 42 ++-
app/Repositories/TeamRepository.php | 21 +-
app/Repositories/UserRepository.php | 2 +-
app/Services/Activity/MeetingBotService.php | 8 +-
app/Services/ActivityService.php | 111 ++-----
app/Services/Crm/Hubspot/Service.php | 36 +-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 2 +-
app/Services/Kiosk/AutomatedReports/AskJiminnyReportActivityService.php | 5 +-
app/Services/Kiosk/AutomatedReports/AutomatedReportsService.php | 49 +--
app/Services/Kiosk/KioskService.php | 7 +-
app/Services/Webhook/Triggers/AiScorecardCompletedTrigger.php | 13 +-
app/UseCases/TeamInsights/ConversationRowMapper.php | 78 +++++
app/UseCases/TeamInsights/RecordingOutcomeTextResolver.php | 68 ++++
app/UseCases/TeamInsights/StrictConsentColumnResolver.php | 45 +++
app/UseCases/TeamInsights/TeamConversationsExport.php | 154 ++++-----
composer.json | 1 -
composer.lock | 95 +-----
config/secure-headers.php | 5 +-
database/mappings/mapping_activities.json | 16 +
database/migrations/2026_04_14_000000_add_rockeed_partner.php | 51 +++
database/migrations/2026_04_22_000000_add_success_email_to_partners.php | 26 ++
database/migrations/2026_04_27_000000_add_label_to_partners.php | 28 ++
database/migrations/2026_04_29_105053_move_ask_jiminny_reports_to_grow_tier.php | 79 +++++
front-end/package.json | 5 +-
front-end/src/__mocks__/jiminny.js | 4 +-
front-end/src/__mocks__/kit/endpoints/automated-reports-promo.js | 9 +
front-end/src/__mocks__/setup.js | 1 +
front-end/src/apps/ai-reports-promo.js | 22 ++
front-end/src/components/AiReports/AiReportsPromo.vue | 22 ++
front-end/src/components/AiReports/AutomatedReportsPromo/AutomatedReportsPromo.vue | 190 +++++++++++
front-end/src/components/AiReports/AutomatedReportsPromo/PromoCard.vue | 111 +++++++
front-end/src/components/AiReports/AutomatedReportsPromo/WhyItMattersCard.vue | 103 ++++++
front-end/src/components/AiReports/AutomatedReportsPromo/__tests__/AutomatedReportsPromo.spec.js | 98 ++++++
.../src/components/AiReports/AutomatedReportsPromo/__tests__/__snapshots__/automated-reports-promo.output.html | 283 ++++++++++++++++
front-end/src/components/AiReports/Manage/ManageAiReports.vue | 8 +-
front-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vue | 228 +++++++++++++
front-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js | 71 ++++
.../src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.html | 217 ++++++++++++
front-end/src/components/AiReports/constants.js | 7 +
front-end/src/components/Settings/Kiosk/OrganizationSearch/Organizations.vue | 1 +
front-end/src/components/Settings/Kiosk/__mocks__/Jiminny.js | 1 +
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 43 ++-
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 203 ++++++++++++
front-end/src/components/Settings/Kiosk/shared/Navigation/Navigation.vue | 3 +
front-end/src/components/Settings/Kiosk/shared/Navigation/__tests__/Navigation.spec.js | 67 ++++
front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 4 +-
front-end/src/components/TeamInsights/CoachingFrameworks/UsersList.vue | 2 +-
front-end/src/components/layout/Sidebar/HelpMenu.vue | 25 +-
front-end/src/components/layout/Sidebar/Sidebar.vue | 27 +-
front-end/src/components/layout/Sidebar/__tests__/HelpMenu.spec.js | 94 ++++++
front-end/src/components/layout/Sidebar/__tests__/__snapshots__/Sidebar.spec.js.snap | 4 +-
front-end/src/components/layout/Sidebar/__tests__/useAiReportsSidebarButton.spec.js | 204 ++++++++++++
front-end/src/components/layout/Sidebar/useAiReportsSidebarButton.js | 49 +++
front-end/src/main.js | 1 +
front-end/src/store/modules/TeamInsights/util.js | 1 +
front-end/src/store/modules/platform/__tests__/getters.spec.js | 22 ++
front-end/src/store/modules/platform/getters.js | 3 +
front-end/src/utils/index.js | 11 +
front-end/yarn.lock | 21 +-
phpstan-baseline.neon | 60 ----
public/pdf/exec-reports/com/coaching-profiles.pdf | Bin 0 -> 1531178 bytes
public/pdf/exec-reports/com/exec-summary.pdf | Bin 0 -> 2237381 bytes
public/pdf/exec-reports/com/loss-report.pdf | Bin 0 -> 1955343 bytes
public/pdf/exec-reports/com/product-feedback.pdf | Bin 0 -> 2184417 bytes
public/pdf/exec-reports/eu/coaching-profiles.pdf | Bin 0 -> 1528704 bytes
public/pdf/exec-reports/eu/exec-summary.pdf | Bin 0 -> 2296741 bytes
public/pdf/exec-reports/eu/loss-report.pdf | Bin 0 -> 1955808 bytes
public/pdf/exec-reports/eu/product-feedback.pdf | Bin 0 -> 2184083 bytes
resources/views/emails/reports/ask-jiminny-report-expiring.blade.php | 22 ++
resources/views/emails/reports/report-not-generated.blade.php | 24 ++
resources/views/partials/crm/push-summary/html-assembly.blade.php | 2 +-
routes/api.php | 6 +
routes/web.php | 4 +
tests/Feature/Policies/UserPolicyTest.php | 90 ++++-
tests/Unit/Component/ActivityAnalytics/Service/ActivityAnalyticsServiceTest.php | 40 +++
tests/Unit/Component/AskAnything/AskAnythingPromptServiceTest.php | 26 ++
tests/Unit/Component/Transcription/Job/FinishTranscriptionJobTest.php | 276 ++++++++++++++++
tests/Unit/Component/Transcription/TranscriptionProcessor/Gong/GongTest.php | 375 +++++++++++++++++++++
tests/Unit/Component/Twilio/Service/SoftPhoneServiceTest.php | 1014 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--
tests/Unit/Console/Commands/Reports/AutomatedReportsCommandTest.php | 157 ++++++++-
tests/Unit/Events/Activities/Audio/RecordingEventTest.php | 72 ++++
tests/Unit/Events/Activities/Softphone/EndedTest.php | 86 +++++
tests/Unit/Events/Activities/Softphone/SoftphoneEventTest.php | 88 +++++
tests/Unit/Events/Activities/Softphone/StartedTest.php | 86 +++++
tests/Unit/Http/Controllers/Kiosk/AutomatedReportsControllerTest.php | 99 ++++++
tests/Unit/Http/Transformers/ActivityTransformerTest.php | 5 +-
tests/Unit/Http/Transformers/PartnerTransformerTest.php | 34 ++
tests/Unit/Interactions/Settings/Teams/CreateTeamTest.php | 49 +++
tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php | 106 +++++-
tests/Unit/Jobs/AutomatedReports/SendReportExpiringSoonMailJobTest.php | 205 ++++++++++++
tests/Unit/Jobs/AutomatedReports/SendReportNotGeneratedMailJobTest.php | 188 +++++++++++
tests/Unit/Jobs/Crm/ImportOpportunityBatchTest.php | 2 +-
tests/Unit/Jobs/Team/SyncToIntercomTest.php | 6 +
tests/Unit/Listeners/Teams/SyncIntercomCompanyTest.php | 59 ++++
tests/Unit/Listeners/Teams/UpdateSalesforceAccountTest.php | 11 +-
tests/Unit/Listeners/Users/SyncIntercomTest.php | 59 ++++
tests/Unit/Mail/Reports/ReportNotGeneratedTest.php | 166 ++++++++++
tests/Unit/Models/PartnerTest.php | 28 ++
tests/Unit/Repositories/AutomatedReportsRepositoryTest.php | 68 ++++
tests/Unit/Services/Activity/MeetingBotServiceRequestRecordingToStopTest.php | 14 +-
tests/Unit/Services/ActivityServiceTest.php | 391 ++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ServiceResponseNormalizeTest.php | 68 ++--
tests/Unit/Services/Kiosk/AutomatedReports/AskJiminnyReportActivityServiceTest.php | 48 +--
tests/Unit/Services/Kiosk/AutomatedReports/AutomatedReportsServiceActivitiesCountTest.php | 16 +-
tests/Unit/Services/Kiosk/AutomatedReports/AutomatedReportsServiceReportGenerationTest.php | 24 +-
tests/Unit/Services/Kiosk/AutomatedReports/AutomatedReportsServiceTest.php | 130 ++++++++
tests/Unit/Services/KioskServiceTest.php | 8 +
tests/Unit/Services/Webhook/Triggers/AiScorecardCompletedTriggerTest.php | 6 +-
tests/Unit/UseCases/TeamInsights/RecordingOutcomeTextResolverTest.php | 119 +++++++
tests/Unit/UseCases/TeamInsights/StrictConsentColumnResolverTest.php | 108 ++++++
tests/Unit/UseCases/TeamInsights/TeamConversationsExportTest.php | 342 ++++++++++++++-----
186 files changed, 8538 insertions(+), 1233 deletions(-)
create mode 100644 app/Component/Twilio/TwilioRepository.php
delete mode 100644 app/Console/Commands/CoachingFeedbacksUpdateEsActivities.php
create mode 100644 app/Console/Commands/RunAiCallScoringForUntypedActivitiesCommand.php
delete mode 100644 app/Console/Commands/UpdateActivitiesAverageScoreExcludingFeedbacksNotSetVisibleToAll.php
create mode 100644 app/Http/Controllers/Kiosk/PartnersController.php
create mode 100644 app/Jobs/AutomatedReports/SendReportExpiringSoonMailJob.php
create mode 100644 app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php
create mode 100644 app/Mail/Reports/AskJiminnyReportExpiringMail.php
create mode 100644 app/Mail/Reports/ReportNotGenerated.php
delete mode 100644 app/Models/ElasticSearch/SharedDocumentDeleteTrait.php
create mode 100644 app/UseCases/TeamInsights/ConversationRowMapper.php
create mode 100644 app/UseCases/TeamInsights/RecordingOutcomeTextResolver.php
create mode 100644 app/UseCases/TeamInsights/StrictConsentColumnResolver.php
create mode 100644 database/migrations/2026_04_14_000000_add_rockeed_partner.php
create mode 100644 database/migrations/2026_04_22_000000_add_success_email_to_partners.php
create mode 100644 database/migrations/2026_04_27_000000_add_label_to_partners.php
create mode 100644 database/migrations/2026_04_29_105053_move_ask_jiminny_reports_to_grow_tier.php
create mode 100644 front-end/src/__mocks__/kit/endpoints/automated-reports-promo.js
create mode 100644 front-end/src/apps/ai-reports-promo.js
create mode 100644 front-end/src/components/AiReports/AiReportsPromo.vue
create mode 100644 front-end/src/components/AiReports/AutomatedReportsPromo/AutomatedReportsPromo.vue
create mode 100644 front-end/src/components/AiReports/AutomatedReportsPromo/PromoCard.vue
create mode 100644 front-end/src/components/AiReports/AutomatedReportsPromo/WhyItMattersCard.vue
create mode 100644 front-end/src/components/AiReports/AutomatedReportsPromo/__tests__/AutomatedReportsPromo.spec.js
create mode 100644 front-end/src/components/AiReports/AutomatedReportsPromo/__tests__/__snapshots__/automated-reports-promo.output.html
create mode 100644 front-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vue
create mode 100644 front-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js
create mode 100644 front-end/src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.html
create mode 100644 front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js
create mode 100644 front-end/src/components/Settings/Kiosk/shared/Navigation/__tests__/Navigation.spec.js
create mode 100644 front-end/src/components/layout/Sidebar/__tests__/HelpMenu.spec.js
create mode 100644 front-end/src/components/layout/Sidebar/__tests__/useAiReportsSidebarButton.spec.js
create mode 100644 front-end/src/components/layout/Sidebar/useAiReportsSidebarButton.js
create mode 100644 front-end/src/store/modules/platform/__tests__/getters.spec.js
create mode 100644 public/pdf/exec-reports/com/coaching-profiles.pdf
create mode 100644 public/pdf/exec-reports/com/exec-summary.pdf
create mode 100644 public/pdf/exec-reports/com/loss-report.pdf
create mode 100644 public/pdf/exec-reports/com/product-feedback.pdf
create mode 100644 public/pdf/exec-reports/eu/coaching-profiles.pdf
create mode 100644 public/pdf/exec-reports/eu/exec-summary.pdf
create mode 100644 public/pdf/exec-reports/eu/loss-report.pdf
create mode 100644 public/pdf/exec-reports/eu/product-feedback.pdf
create mode 100644 resources/views/emails/reports/ask-jiminny-report-expiring.blade.php
create mode 100644 resources/views/emails/reports/report-not-generated.blade.php
create mode 100644 tests/Unit/Component/Transcription/Job/FinishTranscriptionJobTest.php
create mode 100644 tests/Unit/Component/Transcription/TranscriptionProcessor/Gong/GongTest.php
create mode 100644 tests/Unit/Events/Activities/Audio/RecordingEventTest.php
create mode 100644 tests/Unit/Events/Activities/Softphone/EndedTest.php
create mode 100644 tests/Unit/Events/Activities/Softphone/SoftphoneEventTest.php
create mode 100644 tests/Unit/Events/Activities/Softphone/StartedTest.php
create mode 100644 tests/Unit/Http/Transformers/PartnerTransformerTest.php
create mode 100644 tests/Unit/Jobs/AutomatedReports/SendReportExpiringSoonMailJobTest.php
create mode 100644 tests/Unit/Jobs/AutomatedReports/SendReportNotGeneratedMailJobTest.php
create mode 100644 tests/Unit/Listeners/Teams/SyncIntercomCompanyTest.php
create mode 100644 tests/Unit/Listeners/Users/SyncIntercomTest.php
create mode 100644 tests/Unit/Mail/Reports/ReportNotGeneratedTest.php
create mode 100644 tests/Unit/Models/PartnerTest.php
create mode 100644 tests/Unit/Services/ActivityServiceTest.php
create mode 100644 tests/Unit/UseCases/TeamInsights/RecordingOutcomeTextResolverTest.php
create mode 100644 tests/Unit/UseCases/TeamInsights/StrictConsentColumnResolverTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 628, done.
remote: Counting objects: 100% (331/331), done.
remote: Compressing objects: 100% (63/63), done.
remote: Total 628 (delta 280), reused 274 (delta 266), pack-reused 297 (from 1)
Receiving objects: 100% (628/628), 186.75 KiB | 1.23 MiB/s, done.
Resolving deltas: 100% (391/391), completed with 57 local objects.
From github.com:jiminny/app
ad2ce76737..12295204cf master -> origin/master
14f54b5be2..5e7646e5f9 JY-17836-participant-speeches-in-s3 -> origin/JY-17836-participant-speeches-in-s3
b167b19973..acba55cf38 JY-20289-api-tests -> origin/JY-20289-api-tests
f23cfee7c3..e5a3ec5dba JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null -> origin/JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
af59d60926..766efba1c5 JY-20395-fix-memory-issue-with-mail-import -> origin/JY-20395-fix-memory-issue-with-mail-import
* [new branch] JY-20493-smart-instant-nudge-pre-filtering -> origin/JY-20493-smart-instant-nudge-pre-filtering
1737b7c528..c57e71e763 JY-20606-desktop-app-recall -> origin/JY-20606-desktop-app-recall
* [new branch] JY-20671-anyvan-twilio-s3-recordings-ftech -> origin/JY-20671-anyvan-twilio-s3-recordings-ftech
+ ba181441c6...20a74137b0 JY-20742-mcp-poc -> origin/JY-20742-mcp-poc (forced update)
* [new branch] JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20816-calendar-events-diplication -> origin/JY-20816-calendar-events-diplication
* [new branch] desktop-app -> origin/desktop-app
4c4c974e46..185442c26e make-claude-great-again -> origin/make-claude-great-again
* [new branch] mcp-tools-schemas -> origin/mcp-tools-schemas
Updating ad2ce76737..12295204cf
Fast-forward
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 2 +-
app/Component/Transcription/TranscriptionProcessor/AssemblyAI/Services/SubmitAudioFileService.php | 66 ++----------------------------------------------------------------
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 24 +++++++++++++++++-------
tests/Unit/Console/Commands/Tracks/CleanupActivityTracksCommandTest.php | 40 +++++++++++++++++++++++++++++-----------
tests/Unit/fixtures/assembly_ai_transcript_response.json | 1 -
tests/Unit/fixtures/assembly_ai_transcript_response_channel_diarization.json | 1 -
tests/Unit/fixtures/assembly_ai_transcript_response_language.json | 1 -
tests/Unit/fixtures/assembly_ai_transcript_response_language_error.json | 1 -
tests/Unit/fixtures/assembly_ai_transcript_response_language_not_ready.json | 1 -
tests/Unit/fixtures/assembly_ai_transcript_response_language_post.json | 1 -
tests/Unit/fixtures/assembly_ai_transcript_response_without_utterances.json | 1 -
11 files changed, 49 insertions(+), 90 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20818-move-AJ-reports-to-separated-datadog-metric
Switched to a new branch 'JY-20818-move-AJ-reports-to-separated-datadog-metric'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20818-move-AJ-reports-to-separated-datadog-metric) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5663/5663 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5663 files in 83.615 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20818-move-AJ-reports-to-separated-datadog-metric) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5663/5663 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5663 files in 42.875 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 15, done.
remote: Counting objects: 100% (15/15), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 15 (delta 13), reused 15 (delta 13), pack-reused 0 (from 0)
Unpacking objects: 100% (15/15), 1.28 KiB | 72.00 KiB/s, done.
From github.com:jiminny/app
c57e71e763..8743fea32e JY-20606-desktop-app-recall -> origin/JY-20606-desktop-app-recall
* [new branch] JY-20819-increase-download-transctip-rate-limit -> origin/JY-20819-increase-download-transctip-rate-limit
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 180, done.
remote: Counting objects: 100% (179/179), done.
remote: Compressing objects: 100% (55/55), done.
remote: Total 180 (delta 127), reused 165 (delta 119), pack-reused 1 (from 1)
Receiving objects: 100% (180/180), 57.50 KiB | 2.74 MiB/s, done.
Resolving deltas: 100% (127/127), completed with 47 local objects.
From github.com:jiminny/app
12295204cf..35f036ace6 master -> origin/master
* [new branch] JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
5f21965da8..497fbc85c2 JY-20493-smart-instant-nudge-pre-filtering -> origin/JY-20493-smart-instant-nudge-pre-filtering
f029263118..6ed9e2bb13 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20817-fix-deleting-s3-directories -> origin/JY-20817-fix-deleting-s3-directories
* [new branch] JY-20820-es-reindex-stream-model-hydration -> origin/JY-20820-es-reindex-stream-model-hydration
+ ca92730ec5...2c8a1d0856 desktop-app -> origin/desktop-app (forced update)
8425d4e0de..89b45ec8b0 mcp-tools-schemas -> origin/mcp-tools-schemas
Updating 12295204cf..35f036ace6
Fast-forward
app/Component/Datadog/Constants.php | 1 +
app/Providers/RouteServiceProvider.php | 2 +-
app/Services/Kiosk/AutomatedReports/AutomatedReportsCallbackService.php | 13 +++++++++++++
tests/Unit/Services/Kiosk/AutomatedReports/AutomatedReportsCallbackServiceTest.php | 54 +++++++++++++++++++++++++++++++++++++++++++++++-------
4 files changed, 62 insertions(+), 8 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ gbr
* master
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
JY-20160
JY-20145-filter-out-converted-leads-when-matching
JY-20150-skip-push-summary-on-summary-ready-if-autolog
JY-20132-fix-note-encoding
JY-19792-clean-logs
JY-20117-fix-sync-profile-fields-on-empty-fields
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20725-handle-HS-search-rate-limit
Switched to a new branch 'JY-20725-handle-HS-search-rate-limit'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ ;xd
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
⌥⌘1
APP (-zsh)...
|
[{"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) $ git status\nOn branch master\nYour branch is up to date with 'origin/master'.\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: resources/views/partials/crm/push-summary/html-assembly.blade.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 1482, done.\nremote: Counting objects: 100% (481/481), done.\nremote: Compressing objects: 100% (191/191), done.\nremote: Total 1482 (delta 349), reused 305 (delta 289), pack-reused 1001 (from 4)\nReceiving objects: 100% (1482/1482), 1017.97 KiB | 1.44 MiB/s, done.\nResolving deltas: 100% (877/877), completed with 96 local objects.\nFrom github.com:jiminny/app\n 83b628967a..ad2ce76737 master -> origin/master\n 1ee8cbcb7b..14f54b5be2 JY-17836-participant-speeches-in-s3 -> origin/JY-17836-participant-speeches-in-s3\n 5662c3b32f..b167b19973 JY-20289-api-tests -> origin/JY-20289-api-tests\n b40408cfad..f23cfee7c3 JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null -> origin/JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n * [new branch] JY-20395-fix-memory-issue-with-mail-import -> origin/JY-20395-fix-memory-issue-with-mail-import\n * [new branch] JY-20606-desktop-app-recall -> origin/JY-20606-desktop-app-recall\n * [new branch] JY-20662-remove-word-boost -> origin/JY-20662-remove-word-boost\n * [new branch] JY-20742-mcp-poc -> origin/JY-20742-mcp-poc\n * [new branch] make-claude-great-again -> origin/make-claude-great-again\n * [new branch] secfix/composer-20260507 -> origin/secfix/composer-20260507\n * [new branch] secfix/npm-20260507 -> origin/secfix/npm-20260507\nUpdating 83b628967a..ad2ce76737\nerror: Your local changes to the following files would be overwritten by merge:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tresources/views/partials/crm/push-summary/html-assembly.blade.php\nPlease commit your changes or stash them before you merge.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 83b628967a..ad2ce76737\nerror: Your local changes to the following files would be overwritten by merge:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tresources/views/partials/crm/push-summary/html-assembly.blade.php\nPlease commit your changes or stash them before you merge.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 83b628967a..ad2ce76737\nerror: Your local changes to the following files would be overwritten by merge:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/Team/SyncToIntercom.php\nPlease commit your changes or stash them before you merge.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 83b628967a..ad2ce76737\nFast-forward\n .cursor/rules/frontend-conventions.mdc | 23 ++\n .env.production-eu | 2 +-\n .env.staging | 2 +-\n Makefile | 10 +\n app/Component/ActivityAnalytics/Service/ActivityAnalyticsService.php | 6 +-\n app/Component/AiAutomation/Repositories/AiTemplateFieldsRepository.php | 32 +-\n app/Component/AiCallScoring/Repositories/AiScorecardRepository.php | 56 ++--\n app/Component/AskAnything/AskAnythingPromptService.php | 3 +\n app/Component/Transcription/Job/FinishTranscriptionJob.php | 37 ++-\n app/Component/Transcription/TranscriptionProcessor/Gong/Gong.php | 18 +-\n app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php | 4 +-\n app/Component/Twilio/Service/SoftPhoneService.php | 124 ++++---\n app/Component/Twilio/TwilioRepository.php | 27 ++\n app/Console/Commands/CoachingFeedbacksUpdateEsActivities.php | 59 ----\n app/Console/Commands/Reports/AutomatedReportsCommand.php | 122 +++++--\n app/Console/Commands/RunAiCallScoringForUntypedActivitiesCommand.php | 200 ++++++++++++\n app/Console/Commands/UpdateActivitiesAverageScoreExcludingFeedbacksNotSetVisibleToAll.php | 60 ----\n app/Console/Commands/Users/SyncToIntercom.php | 4 +-\n app/Console/Kernel.php | 3 +-\n app/Contracts/ES/Events/UpdateMultipleEntities.php | 4 -\n app/Contracts/ES/Events/UpdateSingleEntity.php | 4 -\n app/Contracts/Repositories/TeamRepository.php | 3 +-\n app/Events/Activities/ActivityUpdated.php | 10 +-\n app/Events/Activities/Audio/RecordingEvent.php | 6 +-\n app/Events/Activities/Softphone/Ended.php | 8 +-\n app/Events/Activities/Softphone/SoftphoneEvent.php | 24 +-\n app/Events/Activities/Softphone/Started.php | 8 +-\n app/Http/Controllers/API/ActivityController.php | 17 +-\n app/Http/Controllers/API/SoftphoneController.php | 9 +-\n app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php | 19 +-\n app/Http/Controllers/API/V2/AskAnythingController.php | 2 +-\n app/Http/Controllers/Auth/SocialController.php | 6 +-\n app/Http/Controllers/Kiosk/AutomatedReportsController.php | 38 ++-\n app/Http/Controllers/Kiosk/OrganizationsController.php | 8 +-\n app/Http/Controllers/Kiosk/PartnersController.php | 46 +++\n app/Http/Controllers/Kiosk/SearchController.php | 8 +\n app/Http/Controllers/Kiosk/Teams/OnboardController.php | 24 +-\n app/Http/Controllers/Settings/Teams/IntegrationController.php | 6 +-\n app/Http/Controllers/TeamSetupController.php | 4 +-\n app/Http/Controllers/Telephony/TextMessaging/MessageController.php | 12 +-\n app/Http/Controllers/Telephony/TextMessaging/WebhookController.php | 18 +-\n app/Http/Requests/Settings/Teams/CreateTeamRequest.php | 1 +\n app/Http/Requests/Settings/Teams/EditTeamRequest.php | 1 +\n app/Http/Transformers/ActivityTransformer.php | 4 +-\n app/Http/Transformers/OnDemandActivitiesTransformer.php | 2 +-\n app/Http/Transformers/PartnerTransformer.php | 1 +\n app/Http/Transformers/StageTransformer.php | 6 +-\n app/Http/Transformers/UserTransformer.php | 11 +-\n app/Interactions/Settings/Teams/CreateTeam.php | 3 +\n app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php | 80 ++++-\n app/Jobs/AutomatedReports/SendReportExpiringSoonMailJob.php | 119 +++++++\n app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php | 89 +++++\n app/Jobs/Crm/Hubspot/ImportBatchJobTrait.php | 12 +-\n app/Jobs/Crm/UpdateStage.php | 3 +\n app/Jobs/Team/SyncToIntercom.php | 7 +-\n app/Listeners/Teams/SyncIntercomCompany.php | 5 +-\n app/Listeners/Teams/UpdateSalesforceAccount.php | 8 +-\n app/Listeners/Users/SyncIntercom.php | 5 +-\n app/Mail/Reports/AskJiminnyReportExpiringMail.php | 40 +++\n app/Mail/Reports/ReportNotGenerated.php | 41 +++\n app/Models/Activity.php | 25 +-\n app/Models/Activity/Question.php | 14 +-\n app/Models/Activity/Search.php | 7 +\n app/Models/AskAnything/AskAnythingPrompt.php | 6 +\n app/Models/AutomatedReport.php | 10 +\n app/Models/CoachingFeedback.php | 44 ++-\n app/Models/ElasticSearch/ActivityElasticSearchTrait.php | 86 +----\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 71 ----\n app/Models/ElasticSearch/SharedDocumentDeleteTrait.php | 27 --\n app/Models/Partner.php | 13 +\n app/Models/Playlist/Activity.php | 14 +-\n app/Notifications/OwnerInvitedToTrial.php | 14 +-\n app/Policies/UserPolicy.php | 16 +-\n app/Queue/Worker/Worker.php | 3 +-\n app/Repositories/ActivityRepository.php | 13 +-\n app/Repositories/AutomatedReportsRepository.php | 42 ++-\n app/Repositories/TeamRepository.php | 21 +-\n app/Repositories/UserRepository.php | 2 +-\n app/Services/Activity/MeetingBotService.php | 8 +-\n app/Services/ActivityService.php | 111 ++-----\n app/Services/Crm/Hubspot/Service.php | 36 +-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 2 +-\n app/Services/Kiosk/AutomatedReports/AskJiminnyReportActivityService.php | 5 +-\n app/Services/Kiosk/AutomatedReports/AutomatedReportsService.php | 49 +--\n app/Services/Kiosk/KioskService.php | 7 +-\n app/Services/Webhook/Triggers/AiScorecardCompletedTrigger.php | 13 +-\n app/UseCases/TeamInsights/ConversationRowMapper.php | 78 +++++\n app/UseCases/TeamInsights/RecordingOutcomeTextResolver.php | 68 ++++\n app/UseCases/TeamInsights/StrictConsentColumnResolver.php | 45 +++\n app/UseCases/TeamInsights/TeamConversationsExport.php | 154 ++++-----\n composer.json | 1 -\n composer.lock | 95 +-----\n config/secure-headers.php | 5 +-\n database/mappings/mapping_activities.json | 16 +\n database/migrations/2026_04_14_000000_add_rockeed_partner.php | 51 +++\n database/migrations/2026_04_22_000000_add_success_email_to_partners.php | 26 ++\n database/migrations/2026_04_27_000000_add_label_to_partners.php | 28 ++\n database/migrations/2026_04_29_105053_move_ask_jiminny_reports_to_grow_tier.php | 79 +++++\n front-end/package.json | 5 +-\n front-end/src/__mocks__/jiminny.js | 4 +-\n front-end/src/__mocks__/kit/endpoints/automated-reports-promo.js | 9 +\n front-end/src/__mocks__/setup.js | 1 +\n front-end/src/apps/ai-reports-promo.js | 22 ++\n front-end/src/components/AiReports/AiReportsPromo.vue | 22 ++\n front-end/src/components/AiReports/AutomatedReportsPromo/AutomatedReportsPromo.vue | 190 +++++++++++\n front-end/src/components/AiReports/AutomatedReportsPromo/PromoCard.vue | 111 +++++++\n front-end/src/components/AiReports/AutomatedReportsPromo/WhyItMattersCard.vue | 103 ++++++\n front-end/src/components/AiReports/AutomatedReportsPromo/__tests__/AutomatedReportsPromo.spec.js | 98 ++++++\n .../src/components/AiReports/AutomatedReportsPromo/__tests__/__snapshots__/automated-reports-promo.output.html | 283 ++++++++++++++++\n front-end/src/components/AiReports/Manage/ManageAiReports.vue | 8 +-\n front-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vue | 228 +++++++++++++\n front-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js | 71 ++++\n .../src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.html | 217 ++++++++++++\n front-end/src/components/AiReports/constants.js | 7 +\n front-end/src/components/Settings/Kiosk/OrganizationSearch/Organizations.vue | 1 +\n front-end/src/components/Settings/Kiosk/__mocks__/Jiminny.js | 1 +\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 43 ++-\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 203 ++++++++++++\n front-end/src/components/Settings/Kiosk/shared/Navigation/Navigation.vue | 3 +\n front-end/src/components/Settings/Kiosk/shared/Navigation/__tests__/Navigation.spec.js | 67 ++++\n front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 4 +-\n front-end/src/components/TeamInsights/CoachingFrameworks/UsersList.vue | 2 +-\n front-end/src/components/layout/Sidebar/HelpMenu.vue | 25 +-\n front-end/src/components/layout/Sidebar/Sidebar.vue | 27 +-\n front-end/src/components/layout/Sidebar/__tests__/HelpMenu.spec.js | 94 ++++++\n front-end/src/components/layout/Sidebar/__tests__/__snapshots__/Sidebar.spec.js.snap | 4 +-\n front-end/src/components/layout/Sidebar/__tests__/useAiReportsSidebarButton.spec.js | 204 ++++++++++++\n front-end/src/components/layout/Sidebar/useAiReportsSidebarButton.js | 49 +++\n front-end/src/main.js | 1 +\n front-end/src/store/modules/TeamInsights/util.js | 1 +\n front-end/src/store/modules/platform/__tests__/getters.spec.js | 22 ++\n front-end/src/store/modules/platform/getters.js | 3 +\n front-end/src/utils/index.js | 11 +\n front-end/yarn.lock | 21 +-\n phpstan-baseline.neon | 60 ----\n public/pdf/exec-reports/com/coaching-profiles.pdf | Bin 0 -> 1531178 bytes\n public/pdf/exec-reports/com/exec-summary.pdf | Bin 0 -> 2237381 bytes\n public/pdf/exec-reports/com/loss-report.pdf | Bin 0 -> 1955343 bytes\n public/pdf/exec-reports/com/product-feedback.pdf | Bin 0 -> 2184417 bytes\n public/pdf/exec-reports/eu/coaching-profiles.pdf | Bin 0 -> 1528704 bytes\n public/pdf/exec-reports/eu/exec-summary.pdf | Bin 0 -> 2296741 bytes\n public/pdf/exec-reports/eu/loss-report.pdf | Bin 0 -> 1955808 bytes\n public/pdf/exec-reports/eu/product-feedback.pdf | Bin 0 -> 2184083 bytes\n resources/views/emails/reports/ask-jiminny-report-expiring.blade.php | 22 ++\n resources/views/emails/reports/report-not-generated.blade.php | 24 ++\n resources/views/partials/crm/push-summary/html-assembly.blade.php | 2 +-\n routes/api.php | 6 +\n routes/web.php | 4 +\n tests/Feature/Policies/UserPolicyTest.php | 90 ++++-\n tests/Unit/Component/ActivityAnalytics/Service/ActivityAnalyticsServiceTest.php | 40 +++\n tests/Unit/Component/AskAnything/AskAnythingPromptServiceTest.php | 26 ++\n tests/Unit/Component/Transcription/Job/FinishTranscriptionJobTest.php | 276 ++++++++++++++++\n tests/Unit/Component/Transcription/TranscriptionProcessor/Gong/GongTest.php | 375 +++++++++++++++++++++\n tests/Unit/Component/Twilio/Service/SoftPhoneServiceTest.php | 1014 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Console/Commands/Reports/AutomatedReportsCommandTest.php | 157 ++++++++-\n tests/Unit/Events/Activities/Audio/RecordingEventTest.php | 72 ++++\n tests/Unit/Events/Activities/Softphone/EndedTest.php | 86 +++++\n tests/Unit/Events/Activities/Softphone/SoftphoneEventTest.php | 88 +++++\n tests/Unit/Events/Activities/Softphone/StartedTest.php | 86 +++++\n tests/Unit/Http/Controllers/Kiosk/AutomatedReportsControllerTest.php | 99 ++++++\n tests/Unit/Http/Transformers/ActivityTransformerTest.php | 5 +-\n tests/Unit/Http/Transformers/PartnerTransformerTest.php | 34 ++\n tests/Unit/Interactions/Settings/Teams/CreateTeamTest.php | 49 +++\n tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php | 106 +++++-\n tests/Unit/Jobs/AutomatedReports/SendReportExpiringSoonMailJobTest.php | 205 ++++++++++++\n tests/Unit/Jobs/AutomatedReports/SendReportNotGeneratedMailJobTest.php | 188 +++++++++++\n tests/Unit/Jobs/Crm/ImportOpportunityBatchTest.php | 2 +-\n tests/Unit/Jobs/Team/SyncToIntercomTest.php | 6 +\n tests/Unit/Listeners/Teams/SyncIntercomCompanyTest.php | 59 ++++\n tests/Unit/Listeners/Teams/UpdateSalesforceAccountTest.php | 11 +-\n tests/Unit/Listeners/Users/SyncIntercomTest.php | 59 ++++\n tests/Unit/Mail/Reports/ReportNotGeneratedTest.php | 166 ++++++++++\n tests/Unit/Models/PartnerTest.php | 28 ++\n tests/Unit/Repositories/AutomatedReportsRepositoryTest.php | 68 ++++\n tests/Unit/Services/Activity/MeetingBotServiceRequestRecordingToStopTest.php | 14 +-\n tests/Unit/Services/ActivityServiceTest.php | 391 ++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ServiceResponseNormalizeTest.php | 68 ++--\n tests/Unit/Services/Kiosk/AutomatedReports/AskJiminnyReportActivityServiceTest.php | 48 +--\n tests/Unit/Services/Kiosk/AutomatedReports/AutomatedReportsServiceActivitiesCountTest.php | 16 +-\n tests/Unit/Services/Kiosk/AutomatedReports/AutomatedReportsServiceReportGenerationTest.php | 24 +-\n tests/Unit/Services/Kiosk/AutomatedReports/AutomatedReportsServiceTest.php | 130 ++++++++\n tests/Unit/Services/KioskServiceTest.php | 8 +\n tests/Unit/Services/Webhook/Triggers/AiScorecardCompletedTriggerTest.php | 6 +-\n tests/Unit/UseCases/TeamInsights/RecordingOutcomeTextResolverTest.php | 119 +++++++\n tests/Unit/UseCases/TeamInsights/StrictConsentColumnResolverTest.php | 108 ++++++\n tests/Unit/UseCases/TeamInsights/TeamConversationsExportTest.php | 342 ++++++++++++++-----\n 186 files changed, 8538 insertions(+), 1233 deletions(-)\n create mode 100644 app/Component/Twilio/TwilioRepository.php\n delete mode 100644 app/Console/Commands/CoachingFeedbacksUpdateEsActivities.php\n create mode 100644 app/Console/Commands/RunAiCallScoringForUntypedActivitiesCommand.php\n delete mode 100644 app/Console/Commands/UpdateActivitiesAverageScoreExcludingFeedbacksNotSetVisibleToAll.php\n create mode 100644 app/Http/Controllers/Kiosk/PartnersController.php\n create mode 100644 app/Jobs/AutomatedReports/SendReportExpiringSoonMailJob.php\n create mode 100644 app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php\n create mode 100644 app/Mail/Reports/AskJiminnyReportExpiringMail.php\n create mode 100644 app/Mail/Reports/ReportNotGenerated.php\n delete mode 100644 app/Models/ElasticSearch/SharedDocumentDeleteTrait.php\n create mode 100644 app/UseCases/TeamInsights/ConversationRowMapper.php\n create mode 100644 app/UseCases/TeamInsights/RecordingOutcomeTextResolver.php\n create mode 100644 app/UseCases/TeamInsights/StrictConsentColumnResolver.php\n create mode 100644 database/migrations/2026_04_14_000000_add_rockeed_partner.php\n create mode 100644 database/migrations/2026_04_22_000000_add_success_email_to_partners.php\n create mode 100644 database/migrations/2026_04_27_000000_add_label_to_partners.php\n create mode 100644 database/migrations/2026_04_29_105053_move_ask_jiminny_reports_to_grow_tier.php\n create mode 100644 front-end/src/__mocks__/kit/endpoints/automated-reports-promo.js\n create mode 100644 front-end/src/apps/ai-reports-promo.js\n create mode 100644 front-end/src/components/AiReports/AiReportsPromo.vue\n create mode 100644 front-end/src/components/AiReports/AutomatedReportsPromo/AutomatedReportsPromo.vue\n create mode 100644 front-end/src/components/AiReports/AutomatedReportsPromo/PromoCard.vue\n create mode 100644 front-end/src/components/AiReports/AutomatedReportsPromo/WhyItMattersCard.vue\n create mode 100644 front-end/src/components/AiReports/AutomatedReportsPromo/__tests__/AutomatedReportsPromo.spec.js\n create mode 100644 front-end/src/components/AiReports/AutomatedReportsPromo/__tests__/__snapshots__/automated-reports-promo.output.html\n create mode 100644 front-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vue\n create mode 100644 front-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js\n create mode 100644 front-end/src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.html\n create mode 100644 front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js\n create mode 100644 front-end/src/components/Settings/Kiosk/shared/Navigation/__tests__/Navigation.spec.js\n create mode 100644 front-end/src/components/layout/Sidebar/__tests__/HelpMenu.spec.js\n create mode 100644 front-end/src/components/layout/Sidebar/__tests__/useAiReportsSidebarButton.spec.js\n create mode 100644 front-end/src/components/layout/Sidebar/useAiReportsSidebarButton.js\n create mode 100644 front-end/src/store/modules/platform/__tests__/getters.spec.js\n create mode 100644 public/pdf/exec-reports/com/coaching-profiles.pdf\n create mode 100644 public/pdf/exec-reports/com/exec-summary.pdf\n create mode 100644 public/pdf/exec-reports/com/loss-report.pdf\n create mode 100644 public/pdf/exec-reports/com/product-feedback.pdf\n create mode 100644 public/pdf/exec-reports/eu/coaching-profiles.pdf\n create mode 100644 public/pdf/exec-reports/eu/exec-summary.pdf\n create mode 100644 public/pdf/exec-reports/eu/loss-report.pdf\n create mode 100644 public/pdf/exec-reports/eu/product-feedback.pdf\n create mode 100644 resources/views/emails/reports/ask-jiminny-report-expiring.blade.php\n create mode 100644 resources/views/emails/reports/report-not-generated.blade.php\n create mode 100644 tests/Unit/Component/Transcription/Job/FinishTranscriptionJobTest.php\n create mode 100644 tests/Unit/Component/Transcription/TranscriptionProcessor/Gong/GongTest.php\n create mode 100644 tests/Unit/Events/Activities/Audio/RecordingEventTest.php\n create mode 100644 tests/Unit/Events/Activities/Softphone/EndedTest.php\n create mode 100644 tests/Unit/Events/Activities/Softphone/SoftphoneEventTest.php\n create mode 100644 tests/Unit/Events/Activities/Softphone/StartedTest.php\n create mode 100644 tests/Unit/Http/Transformers/PartnerTransformerTest.php\n create mode 100644 tests/Unit/Jobs/AutomatedReports/SendReportExpiringSoonMailJobTest.php\n create mode 100644 tests/Unit/Jobs/AutomatedReports/SendReportNotGeneratedMailJobTest.php\n create mode 100644 tests/Unit/Listeners/Teams/SyncIntercomCompanyTest.php\n create mode 100644 tests/Unit/Listeners/Users/SyncIntercomTest.php\n create mode 100644 tests/Unit/Mail/Reports/ReportNotGeneratedTest.php\n create mode 100644 tests/Unit/Models/PartnerTest.php\n create mode 100644 tests/Unit/Services/ActivityServiceTest.php\n create mode 100644 tests/Unit/UseCases/TeamInsights/RecordingOutcomeTextResolverTest.php\n create mode 100644 tests/Unit/UseCases/TeamInsights/StrictConsentColumnResolverTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull \nremote: Enumerating objects: 628, done.\nremote: Counting objects: 100% (331/331), done.\nremote: Compressing objects: 100% (63/63), done.\nremote: Total 628 (delta 280), reused 274 (delta 266), pack-reused 297 (from 1)\nReceiving objects: 100% (628/628), 186.75 KiB | 1.23 MiB/s, done.\nResolving deltas: 100% (391/391), completed with 57 local objects.\nFrom github.com:jiminny/app\n ad2ce76737..12295204cf master -> origin/master\n 14f54b5be2..5e7646e5f9 JY-17836-participant-speeches-in-s3 -> origin/JY-17836-participant-speeches-in-s3\n b167b19973..acba55cf38 JY-20289-api-tests -> origin/JY-20289-api-tests\n f23cfee7c3..e5a3ec5dba JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null -> origin/JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n af59d60926..766efba1c5 JY-20395-fix-memory-issue-with-mail-import -> origin/JY-20395-fix-memory-issue-with-mail-import\n * [new branch] JY-20493-smart-instant-nudge-pre-filtering -> origin/JY-20493-smart-instant-nudge-pre-filtering\n 1737b7c528..c57e71e763 JY-20606-desktop-app-recall -> origin/JY-20606-desktop-app-recall\n * [new branch] JY-20671-anyvan-twilio-s3-recordings-ftech -> origin/JY-20671-anyvan-twilio-s3-recordings-ftech\n + ba181441c6...20a74137b0 JY-20742-mcp-poc -> origin/JY-20742-mcp-poc (forced update)\n * [new branch] JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20816-calendar-events-diplication -> origin/JY-20816-calendar-events-diplication\n * [new branch] desktop-app -> origin/desktop-app\n 4c4c974e46..185442c26e make-claude-great-again -> origin/make-claude-great-again\n * [new branch] mcp-tools-schemas -> origin/mcp-tools-schemas\nUpdating ad2ce76737..12295204cf\nFast-forward\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 2 +-\n app/Component/Transcription/TranscriptionProcessor/AssemblyAI/Services/SubmitAudioFileService.php | 66 ++----------------------------------------------------------------\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 24 +++++++++++++++++-------\n tests/Unit/Console/Commands/Tracks/CleanupActivityTracksCommandTest.php | 40 +++++++++++++++++++++++++++++-----------\n tests/Unit/fixtures/assembly_ai_transcript_response.json | 1 -\n tests/Unit/fixtures/assembly_ai_transcript_response_channel_diarization.json | 1 -\n tests/Unit/fixtures/assembly_ai_transcript_response_language.json | 1 -\n tests/Unit/fixtures/assembly_ai_transcript_response_language_error.json | 1 -\n tests/Unit/fixtures/assembly_ai_transcript_response_language_not_ready.json | 1 -\n tests/Unit/fixtures/assembly_ai_transcript_response_language_post.json | 1 -\n tests/Unit/fixtures/assembly_ai_transcript_response_without_utterances.json | 1 -\n 11 files changed, 49 insertions(+), 90 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20818-move-AJ-reports-to-separated-datadog-metric\nSwitched to a new branch 'JY-20818-move-AJ-reports-to-separated-datadog-metric'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20818-move-AJ-reports-to-separated-datadog-metric) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5663/5663 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5663 files in 83.615 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20818-move-AJ-reports-to-separated-datadog-metric) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\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\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-conferences:worker-conferences_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\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20818-move-AJ-reports-to-separated-datadog-metric) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5663/5663 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5663 files in 42.875 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20818-move-AJ-reports-to-separated-datadog-metric) $ git status\nOn branch master\nYour branch is up to date with 'origin/master'.\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 15, done.\nremote: Counting objects: 100% (15/15), done.\nremote: Compressing objects: 100% (2/2), done.\nremote: Total 15 (delta 13), reused 15 (delta 13), pack-reused 0 (from 0)\nUnpacking objects: 100% (15/15), 1.28 KiB | 72.00 KiB/s, done.\nFrom github.com:jiminny/app\n c57e71e763..8743fea32e JY-20606-desktop-app-recall -> origin/JY-20606-desktop-app-recall\n * [new branch] JY-20819-increase-download-transctip-rate-limit -> origin/JY-20819-increase-download-transctip-rate-limit\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull \nremote: Enumerating objects: 180, done.\nremote: Counting objects: 100% (179/179), done.\nremote: Compressing objects: 100% (55/55), done.\nremote: Total 180 (delta 127), reused 165 (delta 119), pack-reused 1 (from 1)\nReceiving objects: 100% (180/180), 57.50 KiB | 2.74 MiB/s, done.\nResolving deltas: 100% (127/127), completed with 47 local objects.\nFrom github.com:jiminny/app\n 12295204cf..35f036ace6 master -> origin/master\n * [new branch] JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 5f21965da8..497fbc85c2 JY-20493-smart-instant-nudge-pre-filtering -> origin/JY-20493-smart-instant-nudge-pre-filtering\n f029263118..6ed9e2bb13 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20817-fix-deleting-s3-directories -> origin/JY-20817-fix-deleting-s3-directories\n * [new branch] JY-20820-es-reindex-stream-model-hydration -> origin/JY-20820-es-reindex-stream-model-hydration\n + ca92730ec5...2c8a1d0856 desktop-app -> origin/desktop-app (forced update)\n 8425d4e0de..89b45ec8b0 mcp-tools-schemas -> origin/mcp-tools-schemas\nUpdating 12295204cf..35f036ace6\nFast-forward\n app/Component/Datadog/Constants.php | 1 +\n app/Providers/RouteServiceProvider.php | 2 +-\n app/Services/Kiosk/AutomatedReports/AutomatedReportsCallbackService.php | 13 +++++++++++++\n tests/Unit/Services/Kiosk/AutomatedReports/AutomatedReportsCallbackServiceTest.php | 54 +++++++++++++++++++++++++++++++++++++++++++++++-------\n 4 files changed, 62 insertions(+), 8 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ gbr \n* master\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\n JY-20160\n JY-20145-filter-out-converted-leads-when-matching\n JY-20150-skip-push-summary-on-summary-ready-if-autolog\n JY-20132-fix-note-encoding\n JY-19792-clean-logs\n JY-20117-fix-sync-profile-fields-on-empty-fields\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20725-handle-HS-search-rate-limit \nSwitched to a new branch 'JY-20725-handle-HS-search-rate-limit'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ ;xd","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) $ git status\nOn branch master\nYour branch is up to date with 'origin/master'.\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/PlaybackService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: resources/views/partials/crm/push-summary/html-assembly.blade.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 1482, done.\nremote: Counting objects: 100% (481/481), done.\nremote: Compressing objects: 100% (191/191), done.\nremote: Total 1482 (delta 349), reused 305 (delta 289), pack-reused 1001 (from 4)\nReceiving objects: 100% (1482/1482), 1017.97 KiB | 1.44 MiB/s, done.\nResolving deltas: 100% (877/877), completed with 96 local objects.\nFrom github.com:jiminny/app\n 83b628967a..ad2ce76737 master -> origin/master\n 1ee8cbcb7b..14f54b5be2 JY-17836-participant-speeches-in-s3 -> origin/JY-17836-participant-speeches-in-s3\n 5662c3b32f..b167b19973 JY-20289-api-tests -> origin/JY-20289-api-tests\n b40408cfad..f23cfee7c3 JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null -> origin/JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n * [new branch] JY-20395-fix-memory-issue-with-mail-import -> origin/JY-20395-fix-memory-issue-with-mail-import\n * [new branch] JY-20606-desktop-app-recall -> origin/JY-20606-desktop-app-recall\n * [new branch] JY-20662-remove-word-boost -> origin/JY-20662-remove-word-boost\n * [new branch] JY-20742-mcp-poc -> origin/JY-20742-mcp-poc\n * [new branch] make-claude-great-again -> origin/make-claude-great-again\n * [new branch] secfix/composer-20260507 -> origin/secfix/composer-20260507\n * [new branch] secfix/npm-20260507 -> origin/secfix/npm-20260507\nUpdating 83b628967a..ad2ce76737\nerror: Your local changes to the following files would be overwritten by merge:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tresources/views/partials/crm/push-summary/html-assembly.blade.php\nPlease commit your changes or stash them before you merge.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 83b628967a..ad2ce76737\nerror: Your local changes to the following files would be overwritten by merge:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/Team/SyncToIntercom.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tresources/views/partials/crm/push-summary/html-assembly.blade.php\nPlease commit your changes or stash them before you merge.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 83b628967a..ad2ce76737\nerror: Your local changes to the following files would be overwritten by merge:\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Jobs/Team/SyncToIntercom.php\nPlease commit your changes or stash them before you merge.\nAborting\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nUpdating 83b628967a..ad2ce76737\nFast-forward\n .cursor/rules/frontend-conventions.mdc | 23 ++\n .env.production-eu | 2 +-\n .env.staging | 2 +-\n Makefile | 10 +\n app/Component/ActivityAnalytics/Service/ActivityAnalyticsService.php | 6 +-\n app/Component/AiAutomation/Repositories/AiTemplateFieldsRepository.php | 32 +-\n app/Component/AiCallScoring/Repositories/AiScorecardRepository.php | 56 ++--\n app/Component/AskAnything/AskAnythingPromptService.php | 3 +\n app/Component/Transcription/Job/FinishTranscriptionJob.php | 37 ++-\n app/Component/Transcription/TranscriptionProcessor/Gong/Gong.php | 18 +-\n app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php | 4 +-\n app/Component/Twilio/Service/SoftPhoneService.php | 124 ++++---\n app/Component/Twilio/TwilioRepository.php | 27 ++\n app/Console/Commands/CoachingFeedbacksUpdateEsActivities.php | 59 ----\n app/Console/Commands/Reports/AutomatedReportsCommand.php | 122 +++++--\n app/Console/Commands/RunAiCallScoringForUntypedActivitiesCommand.php | 200 ++++++++++++\n app/Console/Commands/UpdateActivitiesAverageScoreExcludingFeedbacksNotSetVisibleToAll.php | 60 ----\n app/Console/Commands/Users/SyncToIntercom.php | 4 +-\n app/Console/Kernel.php | 3 +-\n app/Contracts/ES/Events/UpdateMultipleEntities.php | 4 -\n app/Contracts/ES/Events/UpdateSingleEntity.php | 4 -\n app/Contracts/Repositories/TeamRepository.php | 3 +-\n app/Events/Activities/ActivityUpdated.php | 10 +-\n app/Events/Activities/Audio/RecordingEvent.php | 6 +-\n app/Events/Activities/Softphone/Ended.php | 8 +-\n app/Events/Activities/Softphone/SoftphoneEvent.php | 24 +-\n app/Events/Activities/Softphone/Started.php | 8 +-\n app/Http/Controllers/API/ActivityController.php | 17 +-\n app/Http/Controllers/API/SoftphoneController.php | 9 +-\n app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php | 19 +-\n app/Http/Controllers/API/V2/AskAnythingController.php | 2 +-\n app/Http/Controllers/Auth/SocialController.php | 6 +-\n app/Http/Controllers/Kiosk/AutomatedReportsController.php | 38 ++-\n app/Http/Controllers/Kiosk/OrganizationsController.php | 8 +-\n app/Http/Controllers/Kiosk/PartnersController.php | 46 +++\n app/Http/Controllers/Kiosk/SearchController.php | 8 +\n app/Http/Controllers/Kiosk/Teams/OnboardController.php | 24 +-\n app/Http/Controllers/Settings/Teams/IntegrationController.php | 6 +-\n app/Http/Controllers/TeamSetupController.php | 4 +-\n app/Http/Controllers/Telephony/TextMessaging/MessageController.php | 12 +-\n app/Http/Controllers/Telephony/TextMessaging/WebhookController.php | 18 +-\n app/Http/Requests/Settings/Teams/CreateTeamRequest.php | 1 +\n app/Http/Requests/Settings/Teams/EditTeamRequest.php | 1 +\n app/Http/Transformers/ActivityTransformer.php | 4 +-\n app/Http/Transformers/OnDemandActivitiesTransformer.php | 2 +-\n app/Http/Transformers/PartnerTransformer.php | 1 +\n app/Http/Transformers/StageTransformer.php | 6 +-\n app/Http/Transformers/UserTransformer.php | 11 +-\n app/Interactions/Settings/Teams/CreateTeam.php | 3 +\n app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php | 80 ++++-\n app/Jobs/AutomatedReports/SendReportExpiringSoonMailJob.php | 119 +++++++\n app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php | 89 +++++\n app/Jobs/Crm/Hubspot/ImportBatchJobTrait.php | 12 +-\n app/Jobs/Crm/UpdateStage.php | 3 +\n app/Jobs/Team/SyncToIntercom.php | 7 +-\n app/Listeners/Teams/SyncIntercomCompany.php | 5 +-\n app/Listeners/Teams/UpdateSalesforceAccount.php | 8 +-\n app/Listeners/Users/SyncIntercom.php | 5 +-\n app/Mail/Reports/AskJiminnyReportExpiringMail.php | 40 +++\n app/Mail/Reports/ReportNotGenerated.php | 41 +++\n app/Models/Activity.php | 25 +-\n app/Models/Activity/Question.php | 14 +-\n app/Models/Activity/Search.php | 7 +\n app/Models/AskAnything/AskAnythingPrompt.php | 6 +\n app/Models/AutomatedReport.php | 10 +\n app/Models/CoachingFeedback.php | 44 ++-\n app/Models/ElasticSearch/ActivityElasticSearchTrait.php | 86 +----\n app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 71 ----\n app/Models/ElasticSearch/SharedDocumentDeleteTrait.php | 27 --\n app/Models/Partner.php | 13 +\n app/Models/Playlist/Activity.php | 14 +-\n app/Notifications/OwnerInvitedToTrial.php | 14 +-\n app/Policies/UserPolicy.php | 16 +-\n app/Queue/Worker/Worker.php | 3 +-\n app/Repositories/ActivityRepository.php | 13 +-\n app/Repositories/AutomatedReportsRepository.php | 42 ++-\n app/Repositories/TeamRepository.php | 21 +-\n app/Repositories/UserRepository.php | 2 +-\n app/Services/Activity/MeetingBotService.php | 8 +-\n app/Services/ActivityService.php | 111 ++-----\n app/Services/Crm/Hubspot/Service.php | 36 +-\n app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 2 +-\n app/Services/Kiosk/AutomatedReports/AskJiminnyReportActivityService.php | 5 +-\n app/Services/Kiosk/AutomatedReports/AutomatedReportsService.php | 49 +--\n app/Services/Kiosk/KioskService.php | 7 +-\n app/Services/Webhook/Triggers/AiScorecardCompletedTrigger.php | 13 +-\n app/UseCases/TeamInsights/ConversationRowMapper.php | 78 +++++\n app/UseCases/TeamInsights/RecordingOutcomeTextResolver.php | 68 ++++\n app/UseCases/TeamInsights/StrictConsentColumnResolver.php | 45 +++\n app/UseCases/TeamInsights/TeamConversationsExport.php | 154 ++++-----\n composer.json | 1 -\n composer.lock | 95 +-----\n config/secure-headers.php | 5 +-\n database/mappings/mapping_activities.json | 16 +\n database/migrations/2026_04_14_000000_add_rockeed_partner.php | 51 +++\n database/migrations/2026_04_22_000000_add_success_email_to_partners.php | 26 ++\n database/migrations/2026_04_27_000000_add_label_to_partners.php | 28 ++\n database/migrations/2026_04_29_105053_move_ask_jiminny_reports_to_grow_tier.php | 79 +++++\n front-end/package.json | 5 +-\n front-end/src/__mocks__/jiminny.js | 4 +-\n front-end/src/__mocks__/kit/endpoints/automated-reports-promo.js | 9 +\n front-end/src/__mocks__/setup.js | 1 +\n front-end/src/apps/ai-reports-promo.js | 22 ++\n front-end/src/components/AiReports/AiReportsPromo.vue | 22 ++\n front-end/src/components/AiReports/AutomatedReportsPromo/AutomatedReportsPromo.vue | 190 +++++++++++\n front-end/src/components/AiReports/AutomatedReportsPromo/PromoCard.vue | 111 +++++++\n front-end/src/components/AiReports/AutomatedReportsPromo/WhyItMattersCard.vue | 103 ++++++\n front-end/src/components/AiReports/AutomatedReportsPromo/__tests__/AutomatedReportsPromo.spec.js | 98 ++++++\n .../src/components/AiReports/AutomatedReportsPromo/__tests__/__snapshots__/automated-reports-promo.output.html | 283 ++++++++++++++++\n front-end/src/components/AiReports/Manage/ManageAiReports.vue | 8 +-\n front-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vue | 228 +++++++++++++\n front-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js | 71 ++++\n .../src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.html | 217 ++++++++++++\n front-end/src/components/AiReports/constants.js | 7 +\n front-end/src/components/Settings/Kiosk/OrganizationSearch/Organizations.vue | 1 +\n front-end/src/components/Settings/Kiosk/__mocks__/Jiminny.js | 1 +\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 43 ++-\n front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 203 ++++++++++++\n front-end/src/components/Settings/Kiosk/shared/Navigation/Navigation.vue | 3 +\n front-end/src/components/Settings/Kiosk/shared/Navigation/__tests__/Navigation.spec.js | 67 ++++\n front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 4 +-\n front-end/src/components/TeamInsights/CoachingFrameworks/UsersList.vue | 2 +-\n front-end/src/components/layout/Sidebar/HelpMenu.vue | 25 +-\n front-end/src/components/layout/Sidebar/Sidebar.vue | 27 +-\n front-end/src/components/layout/Sidebar/__tests__/HelpMenu.spec.js | 94 ++++++\n front-end/src/components/layout/Sidebar/__tests__/__snapshots__/Sidebar.spec.js.snap | 4 +-\n front-end/src/components/layout/Sidebar/__tests__/useAiReportsSidebarButton.spec.js | 204 ++++++++++++\n front-end/src/components/layout/Sidebar/useAiReportsSidebarButton.js | 49 +++\n front-end/src/main.js | 1 +\n front-end/src/store/modules/TeamInsights/util.js | 1 +\n front-end/src/store/modules/platform/__tests__/getters.spec.js | 22 ++\n front-end/src/store/modules/platform/getters.js | 3 +\n front-end/src/utils/index.js | 11 +\n front-end/yarn.lock | 21 +-\n phpstan-baseline.neon | 60 ----\n public/pdf/exec-reports/com/coaching-profiles.pdf | Bin 0 -> 1531178 bytes\n public/pdf/exec-reports/com/exec-summary.pdf | Bin 0 -> 2237381 bytes\n public/pdf/exec-reports/com/loss-report.pdf | Bin 0 -> 1955343 bytes\n public/pdf/exec-reports/com/product-feedback.pdf | Bin 0 -> 2184417 bytes\n public/pdf/exec-reports/eu/coaching-profiles.pdf | Bin 0 -> 1528704 bytes\n public/pdf/exec-reports/eu/exec-summary.pdf | Bin 0 -> 2296741 bytes\n public/pdf/exec-reports/eu/loss-report.pdf | Bin 0 -> 1955808 bytes\n public/pdf/exec-reports/eu/product-feedback.pdf | Bin 0 -> 2184083 bytes\n resources/views/emails/reports/ask-jiminny-report-expiring.blade.php | 22 ++\n resources/views/emails/reports/report-not-generated.blade.php | 24 ++\n resources/views/partials/crm/push-summary/html-assembly.blade.php | 2 +-\n routes/api.php | 6 +\n routes/web.php | 4 +\n tests/Feature/Policies/UserPolicyTest.php | 90 ++++-\n tests/Unit/Component/ActivityAnalytics/Service/ActivityAnalyticsServiceTest.php | 40 +++\n tests/Unit/Component/AskAnything/AskAnythingPromptServiceTest.php | 26 ++\n tests/Unit/Component/Transcription/Job/FinishTranscriptionJobTest.php | 276 ++++++++++++++++\n tests/Unit/Component/Transcription/TranscriptionProcessor/Gong/GongTest.php | 375 +++++++++++++++++++++\n tests/Unit/Component/Twilio/Service/SoftPhoneServiceTest.php | 1014 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--\n tests/Unit/Console/Commands/Reports/AutomatedReportsCommandTest.php | 157 ++++++++-\n tests/Unit/Events/Activities/Audio/RecordingEventTest.php | 72 ++++\n tests/Unit/Events/Activities/Softphone/EndedTest.php | 86 +++++\n tests/Unit/Events/Activities/Softphone/SoftphoneEventTest.php | 88 +++++\n tests/Unit/Events/Activities/Softphone/StartedTest.php | 86 +++++\n tests/Unit/Http/Controllers/Kiosk/AutomatedReportsControllerTest.php | 99 ++++++\n tests/Unit/Http/Transformers/ActivityTransformerTest.php | 5 +-\n tests/Unit/Http/Transformers/PartnerTransformerTest.php | 34 ++\n tests/Unit/Interactions/Settings/Teams/CreateTeamTest.php | 49 +++\n tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php | 106 +++++-\n tests/Unit/Jobs/AutomatedReports/SendReportExpiringSoonMailJobTest.php | 205 ++++++++++++\n tests/Unit/Jobs/AutomatedReports/SendReportNotGeneratedMailJobTest.php | 188 +++++++++++\n tests/Unit/Jobs/Crm/ImportOpportunityBatchTest.php | 2 +-\n tests/Unit/Jobs/Team/SyncToIntercomTest.php | 6 +\n tests/Unit/Listeners/Teams/SyncIntercomCompanyTest.php | 59 ++++\n tests/Unit/Listeners/Teams/UpdateSalesforceAccountTest.php | 11 +-\n tests/Unit/Listeners/Users/SyncIntercomTest.php | 59 ++++\n tests/Unit/Mail/Reports/ReportNotGeneratedTest.php | 166 ++++++++++\n tests/Unit/Models/PartnerTest.php | 28 ++\n tests/Unit/Repositories/AutomatedReportsRepositoryTest.php | 68 ++++\n tests/Unit/Services/Activity/MeetingBotServiceRequestRecordingToStopTest.php | 14 +-\n tests/Unit/Services/ActivityServiceTest.php | 391 ++++++++++++++++++++++\n tests/Unit/Services/Crm/Hubspot/ServiceResponseNormalizeTest.php | 68 ++--\n tests/Unit/Services/Kiosk/AutomatedReports/AskJiminnyReportActivityServiceTest.php | 48 +--\n tests/Unit/Services/Kiosk/AutomatedReports/AutomatedReportsServiceActivitiesCountTest.php | 16 +-\n tests/Unit/Services/Kiosk/AutomatedReports/AutomatedReportsServiceReportGenerationTest.php | 24 +-\n tests/Unit/Services/Kiosk/AutomatedReports/AutomatedReportsServiceTest.php | 130 ++++++++\n tests/Unit/Services/KioskServiceTest.php | 8 +\n tests/Unit/Services/Webhook/Triggers/AiScorecardCompletedTriggerTest.php | 6 +-\n tests/Unit/UseCases/TeamInsights/RecordingOutcomeTextResolverTest.php | 119 +++++++\n tests/Unit/UseCases/TeamInsights/StrictConsentColumnResolverTest.php | 108 ++++++\n tests/Unit/UseCases/TeamInsights/TeamConversationsExportTest.php | 342 ++++++++++++++-----\n 186 files changed, 8538 insertions(+), 1233 deletions(-)\n create mode 100644 app/Component/Twilio/TwilioRepository.php\n delete mode 100644 app/Console/Commands/CoachingFeedbacksUpdateEsActivities.php\n create mode 100644 app/Console/Commands/RunAiCallScoringForUntypedActivitiesCommand.php\n delete mode 100644 app/Console/Commands/UpdateActivitiesAverageScoreExcludingFeedbacksNotSetVisibleToAll.php\n create mode 100644 app/Http/Controllers/Kiosk/PartnersController.php\n create mode 100644 app/Jobs/AutomatedReports/SendReportExpiringSoonMailJob.php\n create mode 100644 app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php\n create mode 100644 app/Mail/Reports/AskJiminnyReportExpiringMail.php\n create mode 100644 app/Mail/Reports/ReportNotGenerated.php\n delete mode 100644 app/Models/ElasticSearch/SharedDocumentDeleteTrait.php\n create mode 100644 app/UseCases/TeamInsights/ConversationRowMapper.php\n create mode 100644 app/UseCases/TeamInsights/RecordingOutcomeTextResolver.php\n create mode 100644 app/UseCases/TeamInsights/StrictConsentColumnResolver.php\n create mode 100644 database/migrations/2026_04_14_000000_add_rockeed_partner.php\n create mode 100644 database/migrations/2026_04_22_000000_add_success_email_to_partners.php\n create mode 100644 database/migrations/2026_04_27_000000_add_label_to_partners.php\n create mode 100644 database/migrations/2026_04_29_105053_move_ask_jiminny_reports_to_grow_tier.php\n create mode 100644 front-end/src/__mocks__/kit/endpoints/automated-reports-promo.js\n create mode 100644 front-end/src/apps/ai-reports-promo.js\n create mode 100644 front-end/src/components/AiReports/AiReportsPromo.vue\n create mode 100644 front-end/src/components/AiReports/AutomatedReportsPromo/AutomatedReportsPromo.vue\n create mode 100644 front-end/src/components/AiReports/AutomatedReportsPromo/PromoCard.vue\n create mode 100644 front-end/src/components/AiReports/AutomatedReportsPromo/WhyItMattersCard.vue\n create mode 100644 front-end/src/components/AiReports/AutomatedReportsPromo/__tests__/AutomatedReportsPromo.spec.js\n create mode 100644 front-end/src/components/AiReports/AutomatedReportsPromo/__tests__/__snapshots__/automated-reports-promo.output.html\n create mode 100644 front-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vue\n create mode 100644 front-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js\n create mode 100644 front-end/src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.html\n create mode 100644 front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js\n create mode 100644 front-end/src/components/Settings/Kiosk/shared/Navigation/__tests__/Navigation.spec.js\n create mode 100644 front-end/src/components/layout/Sidebar/__tests__/HelpMenu.spec.js\n create mode 100644 front-end/src/components/layout/Sidebar/__tests__/useAiReportsSidebarButton.spec.js\n create mode 100644 front-end/src/components/layout/Sidebar/useAiReportsSidebarButton.js\n create mode 100644 front-end/src/store/modules/platform/__tests__/getters.spec.js\n create mode 100644 public/pdf/exec-reports/com/coaching-profiles.pdf\n create mode 100644 public/pdf/exec-reports/com/exec-summary.pdf\n create mode 100644 public/pdf/exec-reports/com/loss-report.pdf\n create mode 100644 public/pdf/exec-reports/com/product-feedback.pdf\n create mode 100644 public/pdf/exec-reports/eu/coaching-profiles.pdf\n create mode 100644 public/pdf/exec-reports/eu/exec-summary.pdf\n create mode 100644 public/pdf/exec-reports/eu/loss-report.pdf\n create mode 100644 public/pdf/exec-reports/eu/product-feedback.pdf\n create mode 100644 resources/views/emails/reports/ask-jiminny-report-expiring.blade.php\n create mode 100644 resources/views/emails/reports/report-not-generated.blade.php\n create mode 100644 tests/Unit/Component/Transcription/Job/FinishTranscriptionJobTest.php\n create mode 100644 tests/Unit/Component/Transcription/TranscriptionProcessor/Gong/GongTest.php\n create mode 100644 tests/Unit/Events/Activities/Audio/RecordingEventTest.php\n create mode 100644 tests/Unit/Events/Activities/Softphone/EndedTest.php\n create mode 100644 tests/Unit/Events/Activities/Softphone/SoftphoneEventTest.php\n create mode 100644 tests/Unit/Events/Activities/Softphone/StartedTest.php\n create mode 100644 tests/Unit/Http/Transformers/PartnerTransformerTest.php\n create mode 100644 tests/Unit/Jobs/AutomatedReports/SendReportExpiringSoonMailJobTest.php\n create mode 100644 tests/Unit/Jobs/AutomatedReports/SendReportNotGeneratedMailJobTest.php\n create mode 100644 tests/Unit/Listeners/Teams/SyncIntercomCompanyTest.php\n create mode 100644 tests/Unit/Listeners/Users/SyncIntercomTest.php\n create mode 100644 tests/Unit/Mail/Reports/ReportNotGeneratedTest.php\n create mode 100644 tests/Unit/Models/PartnerTest.php\n create mode 100644 tests/Unit/Services/ActivityServiceTest.php\n create mode 100644 tests/Unit/UseCases/TeamInsights/RecordingOutcomeTextResolverTest.php\n create mode 100644 tests/Unit/UseCases/TeamInsights/StrictConsentColumnResolverTest.php\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull \nremote: Enumerating objects: 628, done.\nremote: Counting objects: 100% (331/331), done.\nremote: Compressing objects: 100% (63/63), done.\nremote: Total 628 (delta 280), reused 274 (delta 266), pack-reused 297 (from 1)\nReceiving objects: 100% (628/628), 186.75 KiB | 1.23 MiB/s, done.\nResolving deltas: 100% (391/391), completed with 57 local objects.\nFrom github.com:jiminny/app\n ad2ce76737..12295204cf master -> origin/master\n 14f54b5be2..5e7646e5f9 JY-17836-participant-speeches-in-s3 -> origin/JY-17836-participant-speeches-in-s3\n b167b19973..acba55cf38 JY-20289-api-tests -> origin/JY-20289-api-tests\n f23cfee7c3..e5a3ec5dba JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null -> origin/JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n af59d60926..766efba1c5 JY-20395-fix-memory-issue-with-mail-import -> origin/JY-20395-fix-memory-issue-with-mail-import\n * [new branch] JY-20493-smart-instant-nudge-pre-filtering -> origin/JY-20493-smart-instant-nudge-pre-filtering\n 1737b7c528..c57e71e763 JY-20606-desktop-app-recall -> origin/JY-20606-desktop-app-recall\n * [new branch] JY-20671-anyvan-twilio-s3-recordings-ftech -> origin/JY-20671-anyvan-twilio-s3-recordings-ftech\n + ba181441c6...20a74137b0 JY-20742-mcp-poc -> origin/JY-20742-mcp-poc (forced update)\n * [new branch] JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20816-calendar-events-diplication -> origin/JY-20816-calendar-events-diplication\n * [new branch] desktop-app -> origin/desktop-app\n 4c4c974e46..185442c26e make-claude-great-again -> origin/make-claude-great-again\n * [new branch] mcp-tools-schemas -> origin/mcp-tools-schemas\nUpdating ad2ce76737..12295204cf\nFast-forward\n app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 2 +-\n app/Component/Transcription/TranscriptionProcessor/AssemblyAI/Services/SubmitAudioFileService.php | 66 ++----------------------------------------------------------------\n app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 24 +++++++++++++++++-------\n tests/Unit/Console/Commands/Tracks/CleanupActivityTracksCommandTest.php | 40 +++++++++++++++++++++++++++++-----------\n tests/Unit/fixtures/assembly_ai_transcript_response.json | 1 -\n tests/Unit/fixtures/assembly_ai_transcript_response_channel_diarization.json | 1 -\n tests/Unit/fixtures/assembly_ai_transcript_response_language.json | 1 -\n tests/Unit/fixtures/assembly_ai_transcript_response_language_error.json | 1 -\n tests/Unit/fixtures/assembly_ai_transcript_response_language_not_ready.json | 1 -\n tests/Unit/fixtures/assembly_ai_transcript_response_language_post.json | 1 -\n tests/Unit/fixtures/assembly_ai_transcript_response_without_utterances.json | 1 -\n 11 files changed, 49 insertions(+), 90 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20818-move-AJ-reports-to-separated-datadog-metric\nSwitched to a new branch 'JY-20818-move-AJ-reports-to-separated-datadog-metric'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20818-move-AJ-reports-to-separated-datadog-metric) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5663/5663 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5663 files in 83.615 seconds, 67.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20818-move-AJ-reports-to-separated-datadog-metric) $ ;xd\ndocker exec -it docker_lamp_1 bash -c \"mv /usr/local/etc/php/conf.d/xdebug.ini ~/xdebug.ini\"\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 supervisorctl restart all\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\nworker-nudges:worker-nudges_00: stopped\nartisan-schedule:artisan-schedule_00: stopped\nworker-calendar:worker-calendar_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\njiminny-worker-processing-1:jiminny-worker-processing-1_00: stopped\nworker:worker_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-audio:worker-audio_00: stopped\nworker-conferences:worker-conferences_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\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\ndocker exec -it docker_lamp_1 php -v\nPHP 8.3.30 (cli) (built: Mar 16 2026 22:32:32) (NTS)\nCopyright (c) The PHP Group\nZend Engine v4.3.30, Copyright (c) Zend Technologies\n with Zend OPcache v8.3.30, Copyright (c), by Zend Technologies\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20818-move-AJ-reports-to-separated-datadog-metric) $ csfix\ndocker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff \nPHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.\nPHP runtime: 8.3.30\nRunning analysis on 7 cores with 10 files per process.\nParallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!\nLoaded config default from \".php-cs-fixer.dist.php\".\n 5663/5663 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%\n\n\nFixed 0 of 5663 files in 42.875 seconds, 60.00 MB memory used\n\nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20818-move-AJ-reports-to-separated-datadog-metric) $ git status\nOn branch master\nYour branch is up to date with 'origin/master'.\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nno changes added to commit (use \"git add\" and/or \"git commit -a\")\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull\nremote: Enumerating objects: 15, done.\nremote: Counting objects: 100% (15/15), done.\nremote: Compressing objects: 100% (2/2), done.\nremote: Total 15 (delta 13), reused 15 (delta 13), pack-reused 0 (from 0)\nUnpacking objects: 100% (15/15), 1.28 KiB | 72.00 KiB/s, done.\nFrom github.com:jiminny/app\n c57e71e763..8743fea32e JY-20606-desktop-app-recall -> origin/JY-20606-desktop-app-recall\n * [new branch] JY-20819-increase-download-transctip-rate-limit -> origin/JY-20819-increase-download-transctip-rate-limit\nAlready up to date.\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull \nremote: Enumerating objects: 180, done.\nremote: Counting objects: 100% (179/179), done.\nremote: Compressing objects: 100% (55/55), done.\nremote: Total 180 (delta 127), reused 165 (delta 119), pack-reused 1 (from 1)\nReceiving objects: 100% (180/180), 57.50 KiB | 2.74 MiB/s, done.\nResolving deltas: 100% (127/127), completed with 47 local objects.\nFrom github.com:jiminny/app\n 12295204cf..35f036ace6 master -> origin/master\n * [new branch] JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5\n 5f21965da8..497fbc85c2 JY-20493-smart-instant-nudge-pre-filtering -> origin/JY-20493-smart-instant-nudge-pre-filtering\n f029263118..6ed9e2bb13 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue\n * [new branch] JY-20817-fix-deleting-s3-directories -> origin/JY-20817-fix-deleting-s3-directories\n * [new branch] JY-20820-es-reindex-stream-model-hydration -> origin/JY-20820-es-reindex-stream-model-hydration\n + ca92730ec5...2c8a1d0856 desktop-app -> origin/desktop-app (forced update)\n 8425d4e0de..89b45ec8b0 mcp-tools-schemas -> origin/mcp-tools-schemas\nUpdating 12295204cf..35f036ace6\nFast-forward\n app/Component/Datadog/Constants.php | 1 +\n app/Providers/RouteServiceProvider.php | 2 +-\n app/Services/Kiosk/AutomatedReports/AutomatedReportsCallbackService.php | 13 +++++++++++++\n tests/Unit/Services/Kiosk/AutomatedReports/AutomatedReportsCallbackServiceTest.php | 54 +++++++++++++++++++++++++++++++++++++++++++++++-------\n 4 files changed, 62 insertions(+), 8 deletions(-)\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ gbr \n* master\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\n JY-20160\n JY-20145-filter-out-converted-leads-when-matching\n JY-20150-skip-push-summary-on-summary-ready-if-autolog\n JY-20132-fix-note-encoding\n JY-19792-clean-logs\n JY-20117-fix-sync-profile-fields-on-empty-fields\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20725-handle-HS-search-rate-limit \nSwitched to a new branch 'JY-20725-handle-HS-search-rate-limit'\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ ;xd","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.16388889,"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.16388889,"top":0.05888889,"width":0.16388889,"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.16805555,"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.32777777,"top":0.05888889,"width":0.16388889,"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.33194444,"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.49166667,"top":0.05888889,"width":0.16388889,"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.49583334,"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.65555555,"top":0.05888889,"width":0.16388889,"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.6597222,"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.8194444,"top":0.05888889,"width":0.16388889,"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.82361114,"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":"APP (-zsh)","depth":1,"bounds":{"left":0.47430557,"top":0.033333335,"width":0.05138889,"height":0.017777778},"on_screen":true,"role_description":"text"}]...
|
-3740812631705428095
|
-2291500873346045352
|
idle
|
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) $ git status
On branch master
Your branch is up to date with 'origin/master'.
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Jobs/Team/SyncToIntercom.php
modified: app/Services/PlaybackService.php
modified: config/logging.php
modified: resources/views/partials/crm/push-summary/html-assembly.blade.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Policies/CanAccessAiReportsTest.php
no changes added to commit (use "git add" and/or "git commit -a")
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 1482, done.
remote: Counting objects: 100% (481/481), done.
remote: Compressing objects: 100% (191/191), done.
remote: Total 1482 (delta 349), reused 305 (delta 289), pack-reused 1001 (from 4)
Receiving objects: 100% (1482/1482), 1017.97 KiB | 1.44 MiB/s, done.
Resolving deltas: 100% (877/877), completed with 96 local objects.
From github.com:jiminny/app
83b628967a..ad2ce76737 master -> origin/master
1ee8cbcb7b..14f54b5be2 JY-17836-participant-speeches-in-s3 -> origin/JY-17836-participant-speeches-in-s3
5662c3b32f..b167b19973 JY-20289-api-tests -> origin/JY-20289-api-tests
b40408cfad..f23cfee7c3 JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null -> origin/JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
* [new branch] JY-20395-fix-memory-issue-with-mail-import -> origin/JY-20395-fix-memory-issue-with-mail-import
* [new branch] JY-20606-desktop-app-recall -> origin/JY-20606-desktop-app-recall
* [new branch] JY-20662-remove-word-boost -> origin/JY-20662-remove-word-boost
* [new branch] JY-20742-mcp-poc -> origin/JY-20742-mcp-poc
* [new branch] make-claude-great-again -> origin/make-claude-great-again
* [new branch] secfix/composer-20260507 -> origin/secfix/composer-20260507
* [new branch] secfix/npm-20260507 -> origin/secfix/npm-20260507
Updating 83b628967a..ad2ce76737
error: Your local changes to the following files would be overwritten by merge:
app/Jobs/Team/SyncToIntercom.php
resources/views/partials/crm/push-summary/html-assembly.blade.php
Please commit your changes or stash them before you merge.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 83b628967a..ad2ce76737
error: Your local changes to the following files would be overwritten by merge:
app/Jobs/Team/SyncToIntercom.php
resources/views/partials/crm/push-summary/html-assembly.blade.php
Please commit your changes or stash them before you merge.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 83b628967a..ad2ce76737
error: Your local changes to the following files would be overwritten by merge:
app/Jobs/Team/SyncToIntercom.php
Please commit your changes or stash them before you merge.
Aborting
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
Updating 83b628967a..ad2ce76737
Fast-forward
.cursor/rules/frontend-conventions.mdc | 23 ++
.env.production-eu | 2 +-
.env.staging | 2 +-
Makefile | 10 +
app/Component/ActivityAnalytics/Service/ActivityAnalyticsService.php | 6 +-
app/Component/AiAutomation/Repositories/AiTemplateFieldsRepository.php | 32 +-
app/Component/AiCallScoring/Repositories/AiScorecardRepository.php | 56 ++--
app/Component/AskAnything/AskAnythingPromptService.php | 3 +
app/Component/Transcription/Job/FinishTranscriptionJob.php | 37 ++-
app/Component/Transcription/TranscriptionProcessor/Gong/Gong.php | 18 +-
app/Component/Twilio/Conference/ConferenceManager/SoftPhoneManager.php | 4 +-
app/Component/Twilio/Service/SoftPhoneService.php | 124 ++++---
app/Component/Twilio/TwilioRepository.php | 27 ++
app/Console/Commands/CoachingFeedbacksUpdateEsActivities.php | 59 ----
app/Console/Commands/Reports/AutomatedReportsCommand.php | 122 +++++--
app/Console/Commands/RunAiCallScoringForUntypedActivitiesCommand.php | 200 ++++++++++++
app/Console/Commands/UpdateActivitiesAverageScoreExcludingFeedbacksNotSetVisibleToAll.php | 60 ----
app/Console/Commands/Users/SyncToIntercom.php | 4 +-
app/Console/Kernel.php | 3 +-
app/Contracts/ES/Events/UpdateMultipleEntities.php | 4 -
app/Contracts/ES/Events/UpdateSingleEntity.php | 4 -
app/Contracts/Repositories/TeamRepository.php | 3 +-
app/Events/Activities/ActivityUpdated.php | 10 +-
app/Events/Activities/Audio/RecordingEvent.php | 6 +-
app/Events/Activities/Softphone/Ended.php | 8 +-
app/Events/Activities/Softphone/SoftphoneEvent.php | 24 +-
app/Events/Activities/Softphone/Started.php | 8 +-
app/Http/Controllers/API/ActivityController.php | 17 +-
app/Http/Controllers/API/SoftphoneController.php | 9 +-
app/Http/Controllers/API/UserAutomatedReports/UserAutomatedReportsController.php | 19 +-
app/Http/Controllers/API/V2/AskAnythingController.php | 2 +-
app/Http/Controllers/Auth/SocialController.php | 6 +-
app/Http/Controllers/Kiosk/AutomatedReportsController.php | 38 ++-
app/Http/Controllers/Kiosk/OrganizationsController.php | 8 +-
app/Http/Controllers/Kiosk/PartnersController.php | 46 +++
app/Http/Controllers/Kiosk/SearchController.php | 8 +
app/Http/Controllers/Kiosk/Teams/OnboardController.php | 24 +-
app/Http/Controllers/Settings/Teams/IntegrationController.php | 6 +-
app/Http/Controllers/TeamSetupController.php | 4 +-
app/Http/Controllers/Telephony/TextMessaging/MessageController.php | 12 +-
app/Http/Controllers/Telephony/TextMessaging/WebhookController.php | 18 +-
app/Http/Requests/Settings/Teams/CreateTeamRequest.php | 1 +
app/Http/Requests/Settings/Teams/EditTeamRequest.php | 1 +
app/Http/Transformers/ActivityTransformer.php | 4 +-
app/Http/Transformers/OnDemandActivitiesTransformer.php | 2 +-
app/Http/Transformers/PartnerTransformer.php | 1 +
app/Http/Transformers/StageTransformer.php | 6 +-
app/Http/Transformers/UserTransformer.php | 11 +-
app/Interactions/Settings/Teams/CreateTeam.php | 3 +
app/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJob.php | 80 ++++-
app/Jobs/AutomatedReports/SendReportExpiringSoonMailJob.php | 119 +++++++
app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php | 89 +++++
app/Jobs/Crm/Hubspot/ImportBatchJobTrait.php | 12 +-
app/Jobs/Crm/UpdateStage.php | 3 +
app/Jobs/Team/SyncToIntercom.php | 7 +-
app/Listeners/Teams/SyncIntercomCompany.php | 5 +-
app/Listeners/Teams/UpdateSalesforceAccount.php | 8 +-
app/Listeners/Users/SyncIntercom.php | 5 +-
app/Mail/Reports/AskJiminnyReportExpiringMail.php | 40 +++
app/Mail/Reports/ReportNotGenerated.php | 41 +++
app/Models/Activity.php | 25 +-
app/Models/Activity/Question.php | 14 +-
app/Models/Activity/Search.php | 7 +
app/Models/AskAnything/AskAnythingPrompt.php | 6 +
app/Models/AutomatedReport.php | 10 +
app/Models/CoachingFeedback.php | 44 ++-
app/Models/ElasticSearch/ActivityElasticSearchTrait.php | 86 +----
app/Models/ElasticSearch/OpportunityElasticSearchTrait.php | 71 ----
app/Models/ElasticSearch/SharedDocumentDeleteTrait.php | 27 --
app/Models/Partner.php | 13 +
app/Models/Playlist/Activity.php | 14 +-
app/Notifications/OwnerInvitedToTrial.php | 14 +-
app/Policies/UserPolicy.php | 16 +-
app/Queue/Worker/Worker.php | 3 +-
app/Repositories/ActivityRepository.php | 13 +-
app/Repositories/AutomatedReportsRepository.php | 42 ++-
app/Repositories/TeamRepository.php | 21 +-
app/Repositories/UserRepository.php | 2 +-
app/Services/Activity/MeetingBotService.php | 8 +-
app/Services/ActivityService.php | 111 ++-----
app/Services/Crm/Hubspot/Service.php | 36 +-
app/Services/Crm/Hubspot/ServiceTraits/OpportunitySyncTrait.php | 2 +-
app/Services/Kiosk/AutomatedReports/AskJiminnyReportActivityService.php | 5 +-
app/Services/Kiosk/AutomatedReports/AutomatedReportsService.php | 49 +--
app/Services/Kiosk/KioskService.php | 7 +-
app/Services/Webhook/Triggers/AiScorecardCompletedTrigger.php | 13 +-
app/UseCases/TeamInsights/ConversationRowMapper.php | 78 +++++
app/UseCases/TeamInsights/RecordingOutcomeTextResolver.php | 68 ++++
app/UseCases/TeamInsights/StrictConsentColumnResolver.php | 45 +++
app/UseCases/TeamInsights/TeamConversationsExport.php | 154 ++++-----
composer.json | 1 -
composer.lock | 95 +-----
config/secure-headers.php | 5 +-
database/mappings/mapping_activities.json | 16 +
database/migrations/2026_04_14_000000_add_rockeed_partner.php | 51 +++
database/migrations/2026_04_22_000000_add_success_email_to_partners.php | 26 ++
database/migrations/2026_04_27_000000_add_label_to_partners.php | 28 ++
database/migrations/2026_04_29_105053_move_ask_jiminny_reports_to_grow_tier.php | 79 +++++
front-end/package.json | 5 +-
front-end/src/__mocks__/jiminny.js | 4 +-
front-end/src/__mocks__/kit/endpoints/automated-reports-promo.js | 9 +
front-end/src/__mocks__/setup.js | 1 +
front-end/src/apps/ai-reports-promo.js | 22 ++
front-end/src/components/AiReports/AiReportsPromo.vue | 22 ++
front-end/src/components/AiReports/AutomatedReportsPromo/AutomatedReportsPromo.vue | 190 +++++++++++
front-end/src/components/AiReports/AutomatedReportsPromo/PromoCard.vue | 111 +++++++
front-end/src/components/AiReports/AutomatedReportsPromo/WhyItMattersCard.vue | 103 ++++++
front-end/src/components/AiReports/AutomatedReportsPromo/__tests__/AutomatedReportsPromo.spec.js | 98 ++++++
.../src/components/AiReports/AutomatedReportsPromo/__tests__/__snapshots__/automated-reports-promo.output.html | 283 ++++++++++++++++
front-end/src/components/AiReports/Manage/ManageAiReports.vue | 8 +-
front-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vue | 228 +++++++++++++
front-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js | 71 ++++
.../src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.html | 217 ++++++++++++
front-end/src/components/AiReports/constants.js | 7 +
front-end/src/components/Settings/Kiosk/OrganizationSearch/Organizations.vue | 1 +
front-end/src/components/Settings/Kiosk/__mocks__/Jiminny.js | 1 +
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/EditTeamModal.vue | 43 ++-
front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js | 203 ++++++++++++
front-end/src/components/Settings/Kiosk/shared/Navigation/Navigation.vue | 3 +
front-end/src/components/Settings/Kiosk/shared/Navigation/__tests__/Navigation.spec.js | 67 ++++
front-end/src/components/TeamInsights/CoachingFrameworks/AICallScoring/aiCallScoringOverTime.ts | 4 +-
front-end/src/components/TeamInsights/CoachingFrameworks/UsersList.vue | 2 +-
front-end/src/components/layout/Sidebar/HelpMenu.vue | 25 +-
front-end/src/components/layout/Sidebar/Sidebar.vue | 27 +-
front-end/src/components/layout/Sidebar/__tests__/HelpMenu.spec.js | 94 ++++++
front-end/src/components/layout/Sidebar/__tests__/__snapshots__/Sidebar.spec.js.snap | 4 +-
front-end/src/components/layout/Sidebar/__tests__/useAiReportsSidebarButton.spec.js | 204 ++++++++++++
front-end/src/components/layout/Sidebar/useAiReportsSidebarButton.js | 49 +++
front-end/src/main.js | 1 +
front-end/src/store/modules/TeamInsights/util.js | 1 +
front-end/src/store/modules/platform/__tests__/getters.spec.js | 22 ++
front-end/src/store/modules/platform/getters.js | 3 +
front-end/src/utils/index.js | 11 +
front-end/yarn.lock | 21 +-
phpstan-baseline.neon | 60 ----
public/pdf/exec-reports/com/coaching-profiles.pdf | Bin 0 -> 1531178 bytes
public/pdf/exec-reports/com/exec-summary.pdf | Bin 0 -> 2237381 bytes
public/pdf/exec-reports/com/loss-report.pdf | Bin 0 -> 1955343 bytes
public/pdf/exec-reports/com/product-feedback.pdf | Bin 0 -> 2184417 bytes
public/pdf/exec-reports/eu/coaching-profiles.pdf | Bin 0 -> 1528704 bytes
public/pdf/exec-reports/eu/exec-summary.pdf | Bin 0 -> 2296741 bytes
public/pdf/exec-reports/eu/loss-report.pdf | Bin 0 -> 1955808 bytes
public/pdf/exec-reports/eu/product-feedback.pdf | Bin 0 -> 2184083 bytes
resources/views/emails/reports/ask-jiminny-report-expiring.blade.php | 22 ++
resources/views/emails/reports/report-not-generated.blade.php | 24 ++
resources/views/partials/crm/push-summary/html-assembly.blade.php | 2 +-
routes/api.php | 6 +
routes/web.php | 4 +
tests/Feature/Policies/UserPolicyTest.php | 90 ++++-
tests/Unit/Component/ActivityAnalytics/Service/ActivityAnalyticsServiceTest.php | 40 +++
tests/Unit/Component/AskAnything/AskAnythingPromptServiceTest.php | 26 ++
tests/Unit/Component/Transcription/Job/FinishTranscriptionJobTest.php | 276 ++++++++++++++++
tests/Unit/Component/Transcription/TranscriptionProcessor/Gong/GongTest.php | 375 +++++++++++++++++++++
tests/Unit/Component/Twilio/Service/SoftPhoneServiceTest.php | 1014 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--
tests/Unit/Console/Commands/Reports/AutomatedReportsCommandTest.php | 157 ++++++++-
tests/Unit/Events/Activities/Audio/RecordingEventTest.php | 72 ++++
tests/Unit/Events/Activities/Softphone/EndedTest.php | 86 +++++
tests/Unit/Events/Activities/Softphone/SoftphoneEventTest.php | 88 +++++
tests/Unit/Events/Activities/Softphone/StartedTest.php | 86 +++++
tests/Unit/Http/Controllers/Kiosk/AutomatedReportsControllerTest.php | 99 ++++++
tests/Unit/Http/Transformers/ActivityTransformerTest.php | 5 +-
tests/Unit/Http/Transformers/PartnerTransformerTest.php | 34 ++
tests/Unit/Interactions/Settings/Teams/CreateTeamTest.php | 49 +++
tests/Unit/Jobs/AutomatedReports/RequestGenerateAskJiminnyReportJobTest.php | 106 +++++-
tests/Unit/Jobs/AutomatedReports/SendReportExpiringSoonMailJobTest.php | 205 ++++++++++++
tests/Unit/Jobs/AutomatedReports/SendReportNotGeneratedMailJobTest.php | 188 +++++++++++
tests/Unit/Jobs/Crm/ImportOpportunityBatchTest.php | 2 +-
tests/Unit/Jobs/Team/SyncToIntercomTest.php | 6 +
tests/Unit/Listeners/Teams/SyncIntercomCompanyTest.php | 59 ++++
tests/Unit/Listeners/Teams/UpdateSalesforceAccountTest.php | 11 +-
tests/Unit/Listeners/Users/SyncIntercomTest.php | 59 ++++
tests/Unit/Mail/Reports/ReportNotGeneratedTest.php | 166 ++++++++++
tests/Unit/Models/PartnerTest.php | 28 ++
tests/Unit/Repositories/AutomatedReportsRepositoryTest.php | 68 ++++
tests/Unit/Services/Activity/MeetingBotServiceRequestRecordingToStopTest.php | 14 +-
tests/Unit/Services/ActivityServiceTest.php | 391 ++++++++++++++++++++++
tests/Unit/Services/Crm/Hubspot/ServiceResponseNormalizeTest.php | 68 ++--
tests/Unit/Services/Kiosk/AutomatedReports/AskJiminnyReportActivityServiceTest.php | 48 +--
tests/Unit/Services/Kiosk/AutomatedReports/AutomatedReportsServiceActivitiesCountTest.php | 16 +-
tests/Unit/Services/Kiosk/AutomatedReports/AutomatedReportsServiceReportGenerationTest.php | 24 +-
tests/Unit/Services/Kiosk/AutomatedReports/AutomatedReportsServiceTest.php | 130 ++++++++
tests/Unit/Services/KioskServiceTest.php | 8 +
tests/Unit/Services/Webhook/Triggers/AiScorecardCompletedTriggerTest.php | 6 +-
tests/Unit/UseCases/TeamInsights/RecordingOutcomeTextResolverTest.php | 119 +++++++
tests/Unit/UseCases/TeamInsights/StrictConsentColumnResolverTest.php | 108 ++++++
tests/Unit/UseCases/TeamInsights/TeamConversationsExportTest.php | 342 ++++++++++++++-----
186 files changed, 8538 insertions(+), 1233 deletions(-)
create mode 100644 app/Component/Twilio/TwilioRepository.php
delete mode 100644 app/Console/Commands/CoachingFeedbacksUpdateEsActivities.php
create mode 100644 app/Console/Commands/RunAiCallScoringForUntypedActivitiesCommand.php
delete mode 100644 app/Console/Commands/UpdateActivitiesAverageScoreExcludingFeedbacksNotSetVisibleToAll.php
create mode 100644 app/Http/Controllers/Kiosk/PartnersController.php
create mode 100644 app/Jobs/AutomatedReports/SendReportExpiringSoonMailJob.php
create mode 100644 app/Jobs/AutomatedReports/SendReportNotGeneratedMailJob.php
create mode 100644 app/Mail/Reports/AskJiminnyReportExpiringMail.php
create mode 100644 app/Mail/Reports/ReportNotGenerated.php
delete mode 100644 app/Models/ElasticSearch/SharedDocumentDeleteTrait.php
create mode 100644 app/UseCases/TeamInsights/ConversationRowMapper.php
create mode 100644 app/UseCases/TeamInsights/RecordingOutcomeTextResolver.php
create mode 100644 app/UseCases/TeamInsights/StrictConsentColumnResolver.php
create mode 100644 database/migrations/2026_04_14_000000_add_rockeed_partner.php
create mode 100644 database/migrations/2026_04_22_000000_add_success_email_to_partners.php
create mode 100644 database/migrations/2026_04_27_000000_add_label_to_partners.php
create mode 100644 database/migrations/2026_04_29_105053_move_ask_jiminny_reports_to_grow_tier.php
create mode 100644 front-end/src/__mocks__/kit/endpoints/automated-reports-promo.js
create mode 100644 front-end/src/apps/ai-reports-promo.js
create mode 100644 front-end/src/components/AiReports/AiReportsPromo.vue
create mode 100644 front-end/src/components/AiReports/AutomatedReportsPromo/AutomatedReportsPromo.vue
create mode 100644 front-end/src/components/AiReports/AutomatedReportsPromo/PromoCard.vue
create mode 100644 front-end/src/components/AiReports/AutomatedReportsPromo/WhyItMattersCard.vue
create mode 100644 front-end/src/components/AiReports/AutomatedReportsPromo/__tests__/AutomatedReportsPromo.spec.js
create mode 100644 front-end/src/components/AiReports/AutomatedReportsPromo/__tests__/__snapshots__/automated-reports-promo.output.html
create mode 100644 front-end/src/components/AiReports/PanoramaReportsPromo/PanoramaReportsPromo.vue
create mode 100644 front-end/src/components/AiReports/PanoramaReportsPromo/__tests__/PanoramaReportsPromo.spec.js
create mode 100644 front-end/src/components/AiReports/PanoramaReportsPromo/__tests__/__snapshots__/panorama-reports-promo.output.html
create mode 100644 front-end/src/components/Settings/Kiosk/modals/EditTeamModal/__tests__/EditTeamModal.spec.js
create mode 100644 front-end/src/components/Settings/Kiosk/shared/Navigation/__tests__/Navigation.spec.js
create mode 100644 front-end/src/components/layout/Sidebar/__tests__/HelpMenu.spec.js
create mode 100644 front-end/src/components/layout/Sidebar/__tests__/useAiReportsSidebarButton.spec.js
create mode 100644 front-end/src/components/layout/Sidebar/useAiReportsSidebarButton.js
create mode 100644 front-end/src/store/modules/platform/__tests__/getters.spec.js
create mode 100644 public/pdf/exec-reports/com/coaching-profiles.pdf
create mode 100644 public/pdf/exec-reports/com/exec-summary.pdf
create mode 100644 public/pdf/exec-reports/com/loss-report.pdf
create mode 100644 public/pdf/exec-reports/com/product-feedback.pdf
create mode 100644 public/pdf/exec-reports/eu/coaching-profiles.pdf
create mode 100644 public/pdf/exec-reports/eu/exec-summary.pdf
create mode 100644 public/pdf/exec-reports/eu/loss-report.pdf
create mode 100644 public/pdf/exec-reports/eu/product-feedback.pdf
create mode 100644 resources/views/emails/reports/ask-jiminny-report-expiring.blade.php
create mode 100644 resources/views/emails/reports/report-not-generated.blade.php
create mode 100644 tests/Unit/Component/Transcription/Job/FinishTranscriptionJobTest.php
create mode 100644 tests/Unit/Component/Transcription/TranscriptionProcessor/Gong/GongTest.php
create mode 100644 tests/Unit/Events/Activities/Audio/RecordingEventTest.php
create mode 100644 tests/Unit/Events/Activities/Softphone/EndedTest.php
create mode 100644 tests/Unit/Events/Activities/Softphone/SoftphoneEventTest.php
create mode 100644 tests/Unit/Events/Activities/Softphone/StartedTest.php
create mode 100644 tests/Unit/Http/Transformers/PartnerTransformerTest.php
create mode 100644 tests/Unit/Jobs/AutomatedReports/SendReportExpiringSoonMailJobTest.php
create mode 100644 tests/Unit/Jobs/AutomatedReports/SendReportNotGeneratedMailJobTest.php
create mode 100644 tests/Unit/Listeners/Teams/SyncIntercomCompanyTest.php
create mode 100644 tests/Unit/Listeners/Users/SyncIntercomTest.php
create mode 100644 tests/Unit/Mail/Reports/ReportNotGeneratedTest.php
create mode 100644 tests/Unit/Models/PartnerTest.php
create mode 100644 tests/Unit/Services/ActivityServiceTest.php
create mode 100644 tests/Unit/UseCases/TeamInsights/RecordingOutcomeTextResolverTest.php
create mode 100644 tests/Unit/UseCases/TeamInsights/StrictConsentColumnResolverTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 628, done.
remote: Counting objects: 100% (331/331), done.
remote: Compressing objects: 100% (63/63), done.
remote: Total 628 (delta 280), reused 274 (delta 266), pack-reused 297 (from 1)
Receiving objects: 100% (628/628), 186.75 KiB | 1.23 MiB/s, done.
Resolving deltas: 100% (391/391), completed with 57 local objects.
From github.com:jiminny/app
ad2ce76737..12295204cf master -> origin/master
14f54b5be2..5e7646e5f9 JY-17836-participant-speeches-in-s3 -> origin/JY-17836-participant-speeches-in-s3
b167b19973..acba55cf38 JY-20289-api-tests -> origin/JY-20289-api-tests
f23cfee7c3..e5a3ec5dba JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null -> origin/JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
af59d60926..766efba1c5 JY-20395-fix-memory-issue-with-mail-import -> origin/JY-20395-fix-memory-issue-with-mail-import
* [new branch] JY-20493-smart-instant-nudge-pre-filtering -> origin/JY-20493-smart-instant-nudge-pre-filtering
1737b7c528..c57e71e763 JY-20606-desktop-app-recall -> origin/JY-20606-desktop-app-recall
* [new branch] JY-20671-anyvan-twilio-s3-recordings-ftech -> origin/JY-20671-anyvan-twilio-s3-recordings-ftech
+ ba181441c6...20a74137b0 JY-20742-mcp-poc -> origin/JY-20742-mcp-poc (forced update)
* [new branch] JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20816-calendar-events-diplication -> origin/JY-20816-calendar-events-diplication
* [new branch] desktop-app -> origin/desktop-app
4c4c974e46..185442c26e make-claude-great-again -> origin/make-claude-great-again
* [new branch] mcp-tools-schemas -> origin/mcp-tools-schemas
Updating ad2ce76737..12295204cf
Fast-forward
app/Component/Encoding/Job/AnalyzeTrackChannelsJob.php | 2 +-
app/Component/Transcription/TranscriptionProcessor/AssemblyAI/Services/SubmitAudioFileService.php | 66 ++----------------------------------------------------------------
app/Console/Commands/Tracks/CleanupActivityTracksCommand.php | 24 +++++++++++++++++-------
tests/Unit/Console/Commands/Tracks/CleanupActivityTracksCommandTest.php | 40 +++++++++++++++++++++++++++++-----------
tests/Unit/fixtures/assembly_ai_transcript_response.json | 1 -
tests/Unit/fixtures/assembly_ai_transcript_response_channel_diarization.json | 1 -
tests/Unit/fixtures/assembly_ai_transcript_response_language.json | 1 -
tests/Unit/fixtures/assembly_ai_transcript_response_language_error.json | 1 -
tests/Unit/fixtures/assembly_ai_transcript_response_language_not_ready.json | 1 -
tests/Unit/fixtures/assembly_ai_transcript_response_language_post.json | 1 -
tests/Unit/fixtures/assembly_ai_transcript_response_without_utterances.json | 1 -
11 files changed, 49 insertions(+), 90 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20818-move-AJ-reports-to-separated-datadog-metric
Switched to a new branch 'JY-20818-move-AJ-reports-to-separated-datadog-metric'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20818-move-AJ-reports-to-separated-datadog-metric) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5663/5663 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5663 files in 83.615 seconds, 67.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20818-move-AJ-reports-to-separated-datadog-metric) $ csfix
docker exec -it docker_lamp_1 ./vendor/bin/php-cs-fixer fix --config=.php-cs-fixer.dist.php -v --using-cache=no --diff
PHP CS Fixer 3.87.1 Alexander by Fabien Potencier, Dariusz Ruminski and contributors.
PHP runtime: 8.3.30
Running analysis on 7 cores with 10 files per process.
Parallel runner is an experimental feature and may be unstable, use it at your own risk. Feedback highly appreciated!
Loaded config default from ".php-cs-fixer.dist.php".
5663/5663 [▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓] 100%
Fixed 0 of 5663 files in 42.875 seconds, 60.00 MB memory used
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug docker_lamp_1
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 15, done.
remote: Counting objects: 100% (15/15), done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 15 (delta 13), reused 15 (delta 13), pack-reused 0 (from 0)
Unpacking objects: 100% (15/15), 1.28 KiB | 72.00 KiB/s, done.
From github.com:jiminny/app
c57e71e763..8743fea32e JY-20606-desktop-app-recall -> origin/JY-20606-desktop-app-recall
* [new branch] JY-20819-increase-download-transctip-rate-limit -> origin/JY-20819-increase-download-transctip-rate-limit
Already up to date.
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ git pull
remote: Enumerating objects: 180, done.
remote: Counting objects: 100% (179/179), done.
remote: Compressing objects: 100% (55/55), done.
remote: Total 180 (delta 127), reused 165 (delta 119), pack-reused 1 (from 1)
Receiving objects: 100% (180/180), 57.50 KiB | 2.74 MiB/s, done.
Resolving deltas: 100% (127/127), completed with 47 local objects.
From github.com:jiminny/app
12295204cf..35f036ace6 master -> origin/master
* [new branch] JY-18091-upgrade-to-php-8-5 -> origin/JY-18091-upgrade-to-php-8-5
5f21965da8..497fbc85c2 JY-20493-smart-instant-nudge-pre-filtering -> origin/JY-20493-smart-instant-nudge-pre-filtering
f029263118..6ed9e2bb13 JY-20808-low-priority-indexing-queue -> origin/JY-20808-low-priority-indexing-queue
* [new branch] JY-20817-fix-deleting-s3-directories -> origin/JY-20817-fix-deleting-s3-directories
* [new branch] JY-20820-es-reindex-stream-model-hydration -> origin/JY-20820-es-reindex-stream-model-hydration
+ ca92730ec5...2c8a1d0856 desktop-app -> origin/desktop-app (forced update)
8425d4e0de..89b45ec8b0 mcp-tools-schemas -> origin/mcp-tools-schemas
Updating 12295204cf..35f036ace6
Fast-forward
app/Component/Datadog/Constants.php | 1 +
app/Providers/RouteServiceProvider.php | 2 +-
app/Services/Kiosk/AutomatedReports/AutomatedReportsCallbackService.php | 13 +++++++++++++
tests/Unit/Services/Kiosk/AutomatedReports/AutomatedReportsCallbackServiceTest.php | 54 +++++++++++++++++++++++++++++++++++++++++++++++-------
4 files changed, 62 insertions(+), 8 deletions(-)
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ gbr
* master
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
JY-20160
JY-20145-filter-out-converted-leads-when-matching
JY-20150-skip-push-summary-on-summary-ready-if-autolog
JY-20132-fix-note-encoding
JY-19792-clean-logs
JY-20117-fix-sync-profile-fields-on-empty-fields
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ co -b JY-20725-handle-HS-search-rate-limit
Switched to a new branch 'JY-20725-handle-HS-search-rate-limit'
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ ;xd
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
⌥⌘1
APP (-zsh)...
|
17054
|
NULL
|
NULL
|
NULL
|
|
17007
|
NULL
|
0
|
2026-05-11T09:55:43.370775+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778493343370_m1.jpg...
|
PhpStorm
|
faVsco.js – MatchActivityCrmData.php
|
1
|
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
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
maxExceptions
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/1
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Code changed:
Hide
Sync Changes
Hide This Notification
1
8
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Jobs\Crm;
use Exception;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Database\Connection;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use Illuminate\Support\Facades\Log;
use Jiminny\Component\Queue\Constants;
use Jiminny\Exceptions\InvalidArgumentException;
use Jiminny\Exceptions\RateLimitException;
use Jiminny\Jobs\Job;
use Jiminny\Jobs\Middleware\HandleHubspotRateLimit;
use Jiminny\Models\Activity;
use Jiminny\Models\Crm\Configuration;
use Jiminny\Repositories\ActivityRepository;
use Jiminny\Services\Crm\CrmActivityService;
use Psr\Container\ContainerExceptionInterface;
use Psr\Container\NotFoundExceptionInterface;
use Throwable;
class MatchActivityCrmData extends Job implements ShouldQueue, ShouldBeUnique
{
use InteractsWithQueue;
use SerializesModels;
public int $maxExceptions = 3;
private const int RETRY_WINDOW_MINUTES = 30;
private int $activityId;
private ?Configuration $fromConfiguration;
private bool $remoteSearch;
public function middleware(): array
{
return [new HandleHubspotRateLimit()];
}
public function retryUntil(): \DateTimeInterface
{
return now()->addMinutes(self::RETRY_WINDOW_MINUTES);
}
public function __construct(
int $activityId,
?Configuration $fromConfiguration = null,
bool $remoteSearch = false,
) {
$this->activityId = $activityId;
$this->fromConfiguration = $fromConfiguration;
$this->remoteSearch = $remoteSearch;
$this->onQueue(Constants::QUEUE_ANALYTICS_LOW);
}
public function uniqueId(): string
{
$configId = $this->fromConfiguration?->getId() ?? 0;
$remote = $this->remoteSearch ? 'remote' : 'local';
return "$this->activityId:$configId:$remote";
}
public function timeout(): int
{
return 300; // 5 minutes max execution time
}
public function uniqueFor(): int
{
return self::RETRY_WINDOW_MINUTES * 60 + 60;
}
public function backoff(): array
{
return [30, 90, 180];
}
/**
* @throws ContainerExceptionInterface
* @throws NotFoundExceptionInterface
* @throws Exception|Throwable
*/
public function handle(
ActivityRepository $activityRepository,
CrmActivityService $crmActivityService,
Connection $connection,
): void {
$activity = $activityRepository->findById($this->activityId);
if ($activity === null) {
throw new InvalidArgumentException('[MatchActivityCrmData] Cannot find activity.');
}
try {
$connection->transaction(function () use ($activity, $crmActivityService, $activityRepository) {
Log::info('[MatchActivityCrmData] Starting CRM data matching', [
'activity' => $this->activityId,
'remote_search' => $this->remoteSearch,
'set_configuration' => $this->fromConfiguration?->getId(),
'old_state' => [
'lead_id' => $activity->getLead()?->getId(),
'contact_id' => $activity->getContact()?->getId(),
'account_id' => $activity->getAccount()?->getId(),
'opportunity_id' => $activity->getOpportunity()?->getId(),
'stage_id' => $activity->getStage()?->getId(),
],
]);
$this->resetCrmMappings($activity, $activityRepository);
$this->switchCrmConfigurationIfNeeded($activity);
$activity->refresh();
$crmActivityService->updateCrmData(
activity: $activity,
remoteSearch: $this->remoteSearch,
);
$hasMatch = $activity->getLead() !== null
|| $activity->getContact() !== null
|| $activity->getAccount() !== null
|| $activity->getOpportunity() !== null;
if ($hasMatch) {
Log::info('[MatchActivityCrmData] Successfully matched CRM data', [
'activity' => $this->activityId,
'remote_search' => $this->remoteSearch,
'lead_id' => $activity->getLead()?->getId(),
'contact_id' => $activity->getContact()?->getId(),
'account_id' => $activity->getAccount()?->getId(),
'opportunity_id' => $activity->getOpportunity()?->getId(),
'stage_id' => $activity->getStage()?->getId(),
]);
} else {
Log::info('[MatchActivityCrmData] No CRM match found', [
'activity' => $this->activityId,
'remote_search' => $this->remoteSearch,
]);
}
});
} catch (Throwable $e) {
if (! $e instanceof RateLimitException) {
Log::error('[MatchActivityCrmData] Failed to match CRM data', [
'activity' => $this->activityId,
'remote_search' => $this->remoteSearch,
'exception' => $e->getMessage(),
'trace' => $e->getTraceAsString(),
]);
}
throw $e;
}
}
public function failed(Throwable $exception): void
{
Log::error('[MatchActivityCrmData] Job permanently failed after all retries', [
'activity' => $this->activityId,
'remote_search' => $this->remoteSearch,
'from_configuration' => $this->fromConfiguration?->getId(),
'exception' => $exception->getMessage(),
'attempts' => $this->attempts(),
]);
}
private function resetCrmMappings(
Activity $activity,
ActivityRepository $activityRepository
): void {
$activity->update([
'lead_id' => null,
'contact_id' => null,
'account_id' => null,
'opportunity_id' => null,
'stage_id' => null,
]);
$participantsOldState = $activityRepository->getActivityParticipants($activity)
->map(function ($participant) {
return [
'id' => $participant->id,
'user_id' => $participant->user_id,
'contact_id' => $participant->contact_id,
'lead_id' => $participant->lead_id,
];
});
if ($participantsOldState->isNotEmpty()) {
Log::info('[MatchActivityCrmData] Participants old state', [
'activity' => $this->activityId,
'participants' => $participantsOldState->toArray(),
]);
}
$activity->participants()->update([
'user_id' => null,
'contact_id' => null,
'lead_id' => null,
]);
}
private function switchCrmConfigurationIfNeeded(Activity $activity): void
{
if ($this->fromConfiguration === null) {
return;
}
if ($activity->getCrm()?->getId() === $this->fromConfiguration->getId()) {
return;
}
Log::info('[MatchActivityCrmData] Switching CRM configuration', [
'activity' => $this->activityId,
'old_configuration' => $activity->getCrm()?->getId(),
'new_configuration' => $this->fromConfiguration->getId(),
]);
$activity->update([
'crm_configuration_id' => $this->fromConfiguration->getId(),
'crm_provider_id' => null,
]);
}
}
Sync Changes
Hide This Notification
Code changed:
Hide
19
Previous Highlighted Error
Next Highlighted Error
[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {
"headers":{
"Date":["Thu,07 May 2026 14:21:15 GMT"],
"Content-Type":["application/json;charset=utf-8"],
"Transfer-Encoding":["chunked"],
"Connection":["keep-alive"],
"CF-Ray":["9f80deb8db60dc3a-SOF"],
"CF-Cache-Status":["DYNAMIC"],
"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],
"Vary":["origin,
accept-encoding"],
"access-control-allow-credentials":["false"],
"server-timing":["hcid;desc=\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\",
cfr;desc=\"9f80deb8e7c6dc3a-IAD\""],
"x-content-type-options":["nosniff"],
"x-hubspot-correlation-id":["019e02d0-6fd8-7812-bdba-885b7ccb3ee3"],
"Set-Cookie":["__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-[IP_ADDRESS]-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,
07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None"],
"Report-To":["{
\"endpoints\":[{
\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\"}],
\"group\":\"cf-nel\",
\"max_age\":604800}"],
"NEL":["{
\"success_fraction\":0.01,
\"report_to\":\"cf-nel\",
\"max_age\":604800}"],
"Server":["cloudflare"]}} {
"correlation_id":"95236535-ec98-4541-b92a-adfa73b69eab",
"trace_id":"c7ab8365-903f-46d4-9403-0e5b551e3545"}
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":"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":"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":"Show Replace Field","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Search History","depth":3,"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"maxExceptions","depth":4,"on_screen":true,"value":"maxExceptions","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"New Line","depth":3,"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Match Case","depth":3,"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Words","depth":3,"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Regex","depth":3,"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Replace History","depth":3,"bounds":{"left":0.0,"top":0.0,"width":0.015277778,"height":0.024444444},"on_screen":false,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextField","text":"Replace","depth":4,"on_screen":false,"role_description":"text field","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"New Line","depth":3,"bounds":{"left":0.0,"top":0.0,"width":0.015277778,"height":0.024444444},"on_screen":false,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Preserve case","depth":3,"bounds":{"left":0.0,"top":0.0,"width":0.015277778,"height":0.024444444},"on_screen":false,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"1/1","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Occurrence","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Next Occurrence","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Filter Search Results","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Open in Window, Multiple Cursors","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXLink","text":"Click to highlight","depth":4,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":4,"on_screen":true,"role_description":"button","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Code changed:","depth":4,"bounds":{"left":0.0,"top":0.0,"width":0.088194445,"height":0.027777778},"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":"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":"AXStaticText","text":"1","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"8","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\\Jobs\\Crm;\n\nuse Exception;\nuse Illuminate\\Contracts\\Queue\\ShouldBeUnique;\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\nuse Illuminate\\Database\\Connection;\nuse Illuminate\\Queue\\InteractsWithQueue;\nuse Illuminate\\Queue\\SerializesModels;\nuse Illuminate\\Support\\Facades\\Log;\nuse Jiminny\\Component\\Queue\\Constants;\nuse Jiminny\\Exceptions\\InvalidArgumentException;\nuse Jiminny\\Exceptions\\RateLimitException;\nuse Jiminny\\Jobs\\Job;\nuse Jiminny\\Jobs\\Middleware\\HandleHubspotRateLimit;\nuse Jiminny\\Models\\Activity;\nuse Jiminny\\Models\\Crm\\Configuration;\nuse Jiminny\\Repositories\\ActivityRepository;\nuse Jiminny\\Services\\Crm\\CrmActivityService;\nuse Psr\\Container\\ContainerExceptionInterface;\nuse Psr\\Container\\NotFoundExceptionInterface;\nuse Throwable;\n\nclass MatchActivityCrmData extends Job implements ShouldQueue, ShouldBeUnique\n{\n use InteractsWithQueue;\n use SerializesModels;\n\n public int $maxExceptions = 3;\n\n private const int RETRY_WINDOW_MINUTES = 30;\n\n private int $activityId;\n private ?Configuration $fromConfiguration;\n private bool $remoteSearch;\n\n public function middleware(): array\n {\n return [new HandleHubspotRateLimit()];\n }\n\n public function retryUntil(): \\DateTimeInterface\n {\n return now()->addMinutes(self::RETRY_WINDOW_MINUTES);\n }\n\n public function __construct(\n int $activityId,\n ?Configuration $fromConfiguration = null,\n bool $remoteSearch = false,\n ) {\n $this->activityId = $activityId;\n $this->fromConfiguration = $fromConfiguration;\n $this->remoteSearch = $remoteSearch;\n\n $this->onQueue(Constants::QUEUE_ANALYTICS_LOW);\n }\n\n public function uniqueId(): string\n {\n $configId = $this->fromConfiguration?->getId() ?? 0;\n $remote = $this->remoteSearch ? 'remote' : 'local';\n\n return \"$this->activityId:$configId:$remote\";\n }\n\n public function timeout(): int\n {\n return 300; // 5 minutes max execution time\n }\n\n public function uniqueFor(): int\n {\n return self::RETRY_WINDOW_MINUTES * 60 + 60;\n }\n\n public function backoff(): array\n {\n return [30, 90, 180];\n }\n\n /**\n * @throws ContainerExceptionInterface\n * @throws NotFoundExceptionInterface\n * @throws Exception|Throwable\n */\n public function handle(\n ActivityRepository $activityRepository,\n CrmActivityService $crmActivityService,\n Connection $connection,\n ): void {\n $activity = $activityRepository->findById($this->activityId);\n if ($activity === null) {\n throw new InvalidArgumentException('[MatchActivityCrmData] Cannot find activity.');\n }\n\n try {\n $connection->transaction(function () use ($activity, $crmActivityService, $activityRepository) {\n Log::info('[MatchActivityCrmData] Starting CRM data matching', [\n 'activity' => $this->activityId,\n 'remote_search' => $this->remoteSearch,\n 'set_configuration' => $this->fromConfiguration?->getId(),\n 'old_state' => [\n 'lead_id' => $activity->getLead()?->getId(),\n 'contact_id' => $activity->getContact()?->getId(),\n 'account_id' => $activity->getAccount()?->getId(),\n 'opportunity_id' => $activity->getOpportunity()?->getId(),\n 'stage_id' => $activity->getStage()?->getId(),\n ],\n ]);\n\n $this->resetCrmMappings($activity, $activityRepository);\n\n $this->switchCrmConfigurationIfNeeded($activity);\n\n $activity->refresh();\n\n $crmActivityService->updateCrmData(\n activity: $activity,\n remoteSearch: $this->remoteSearch,\n );\n\n $hasMatch = $activity->getLead() !== null\n || $activity->getContact() !== null\n || $activity->getAccount() !== null\n || $activity->getOpportunity() !== null;\n\n if ($hasMatch) {\n Log::info('[MatchActivityCrmData] Successfully matched CRM data', [\n 'activity' => $this->activityId,\n 'remote_search' => $this->remoteSearch,\n 'lead_id' => $activity->getLead()?->getId(),\n 'contact_id' => $activity->getContact()?->getId(),\n 'account_id' => $activity->getAccount()?->getId(),\n 'opportunity_id' => $activity->getOpportunity()?->getId(),\n 'stage_id' => $activity->getStage()?->getId(),\n ]);\n } else {\n Log::info('[MatchActivityCrmData] No CRM match found', [\n 'activity' => $this->activityId,\n 'remote_search' => $this->remoteSearch,\n ]);\n }\n });\n } catch (Throwable $e) {\n if (! $e instanceof RateLimitException) {\n Log::error('[MatchActivityCrmData] Failed to match CRM data', [\n 'activity' => $this->activityId,\n 'remote_search' => $this->remoteSearch,\n 'exception' => $e->getMessage(),\n 'trace' => $e->getTraceAsString(),\n ]);\n }\n\n throw $e;\n }\n }\n\n public function failed(Throwable $exception): void\n {\n Log::error('[MatchActivityCrmData] Job permanently failed after all retries', [\n 'activity' => $this->activityId,\n 'remote_search' => $this->remoteSearch,\n 'from_configuration' => $this->fromConfiguration?->getId(),\n 'exception' => $exception->getMessage(),\n 'attempts' => $this->attempts(),\n ]);\n }\n\n private function resetCrmMappings(\n Activity $activity,\n ActivityRepository $activityRepository\n ): void {\n $activity->update([\n 'lead_id' => null,\n 'contact_id' => null,\n 'account_id' => null,\n 'opportunity_id' => null,\n 'stage_id' => null,\n ]);\n\n $participantsOldState = $activityRepository->getActivityParticipants($activity)\n ->map(function ($participant) {\n return [\n 'id' => $participant->id,\n 'user_id' => $participant->user_id,\n 'contact_id' => $participant->contact_id,\n 'lead_id' => $participant->lead_id,\n ];\n });\n\n if ($participantsOldState->isNotEmpty()) {\n Log::info('[MatchActivityCrmData] Participants old state', [\n 'activity' => $this->activityId,\n 'participants' => $participantsOldState->toArray(),\n ]);\n }\n\n $activity->participants()->update([\n 'user_id' => null,\n 'contact_id' => null,\n 'lead_id' => null,\n ]);\n }\n\n private function switchCrmConfigurationIfNeeded(Activity $activity): void\n {\n if ($this->fromConfiguration === null) {\n return;\n }\n\n if ($activity->getCrm()?->getId() === $this->fromConfiguration->getId()) {\n return;\n }\n\n Log::info('[MatchActivityCrmData] Switching CRM configuration', [\n 'activity' => $this->activityId,\n 'old_configuration' => $activity->getCrm()?->getId(),\n 'new_configuration' => $this->fromConfiguration->getId(),\n ]);\n\n $activity->update([\n 'crm_configuration_id' => $this->fromConfiguration->getId(),\n 'crm_provider_id' => null,\n ]);\n }\n}","depth":4,"on_screen":true,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Jobs\\Crm;\n\nuse Exception;\nuse Illuminate\\Contracts\\Queue\\ShouldBeUnique;\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\nuse Illuminate\\Database\\Connection;\nuse Illuminate\\Queue\\InteractsWithQueue;\nuse Illuminate\\Queue\\SerializesModels;\nuse Illuminate\\Support\\Facades\\Log;\nuse Jiminny\\Component\\Queue\\Constants;\nuse Jiminny\\Exceptions\\InvalidArgumentException;\nuse Jiminny\\Exceptions\\RateLimitException;\nuse Jiminny\\Jobs\\Job;\nuse Jiminny\\Jobs\\Middleware\\HandleHubspotRateLimit;\nuse Jiminny\\Models\\Activity;\nuse Jiminny\\Models\\Crm\\Configuration;\nuse Jiminny\\Repositories\\ActivityRepository;\nuse Jiminny\\Services\\Crm\\CrmActivityService;\nuse Psr\\Container\\ContainerExceptionInterface;\nuse Psr\\Container\\NotFoundExceptionInterface;\nuse Throwable;\n\nclass MatchActivityCrmData extends Job implements ShouldQueue, ShouldBeUnique\n{\n use InteractsWithQueue;\n use SerializesModels;\n\n public int $maxExceptions = 3;\n\n private const int RETRY_WINDOW_MINUTES = 30;\n\n private int $activityId;\n private ?Configuration $fromConfiguration;\n private bool $remoteSearch;\n\n public function middleware(): array\n {\n return [new HandleHubspotRateLimit()];\n }\n\n public function retryUntil(): \\DateTimeInterface\n {\n return now()->addMinutes(self::RETRY_WINDOW_MINUTES);\n }\n\n public function __construct(\n int $activityId,\n ?Configuration $fromConfiguration = null,\n bool $remoteSearch = false,\n ) {\n $this->activityId = $activityId;\n $this->fromConfiguration = $fromConfiguration;\n $this->remoteSearch = $remoteSearch;\n\n $this->onQueue(Constants::QUEUE_ANALYTICS_LOW);\n }\n\n public function uniqueId(): string\n {\n $configId = $this->fromConfiguration?->getId() ?? 0;\n $remote = $this->remoteSearch ? 'remote' : 'local';\n\n return \"$this->activityId:$configId:$remote\";\n }\n\n public function timeout(): int\n {\n return 300; // 5 minutes max execution time\n }\n\n public function uniqueFor(): int\n {\n return self::RETRY_WINDOW_MINUTES * 60 + 60;\n }\n\n public function backoff(): array\n {\n return [30, 90, 180];\n }\n\n /**\n * @throws ContainerExceptionInterface\n * @throws NotFoundExceptionInterface\n * @throws Exception|Throwable\n */\n public function handle(\n ActivityRepository $activityRepository,\n CrmActivityService $crmActivityService,\n Connection $connection,\n ): void {\n $activity = $activityRepository->findById($this->activityId);\n if ($activity === null) {\n throw new InvalidArgumentException('[MatchActivityCrmData] Cannot find activity.');\n }\n\n try {\n $connection->transaction(function () use ($activity, $crmActivityService, $activityRepository) {\n Log::info('[MatchActivityCrmData] Starting CRM data matching', [\n 'activity' => $this->activityId,\n 'remote_search' => $this->remoteSearch,\n 'set_configuration' => $this->fromConfiguration?->getId(),\n 'old_state' => [\n 'lead_id' => $activity->getLead()?->getId(),\n 'contact_id' => $activity->getContact()?->getId(),\n 'account_id' => $activity->getAccount()?->getId(),\n 'opportunity_id' => $activity->getOpportunity()?->getId(),\n 'stage_id' => $activity->getStage()?->getId(),\n ],\n ]);\n\n $this->resetCrmMappings($activity, $activityRepository);\n\n $this->switchCrmConfigurationIfNeeded($activity);\n\n $activity->refresh();\n\n $crmActivityService->updateCrmData(\n activity: $activity,\n remoteSearch: $this->remoteSearch,\n );\n\n $hasMatch = $activity->getLead() !== null\n || $activity->getContact() !== null\n || $activity->getAccount() !== null\n || $activity->getOpportunity() !== null;\n\n if ($hasMatch) {\n Log::info('[MatchActivityCrmData] Successfully matched CRM data', [\n 'activity' => $this->activityId,\n 'remote_search' => $this->remoteSearch,\n 'lead_id' => $activity->getLead()?->getId(),\n 'contact_id' => $activity->getContact()?->getId(),\n 'account_id' => $activity->getAccount()?->getId(),\n 'opportunity_id' => $activity->getOpportunity()?->getId(),\n 'stage_id' => $activity->getStage()?->getId(),\n ]);\n } else {\n Log::info('[MatchActivityCrmData] No CRM match found', [\n 'activity' => $this->activityId,\n 'remote_search' => $this->remoteSearch,\n ]);\n }\n });\n } catch (Throwable $e) {\n if (! $e instanceof RateLimitException) {\n Log::error('[MatchActivityCrmData] Failed to match CRM data', [\n 'activity' => $this->activityId,\n 'remote_search' => $this->remoteSearch,\n 'exception' => $e->getMessage(),\n 'trace' => $e->getTraceAsString(),\n ]);\n }\n\n throw $e;\n }\n }\n\n public function failed(Throwable $exception): void\n {\n Log::error('[MatchActivityCrmData] Job permanently failed after all retries', [\n 'activity' => $this->activityId,\n 'remote_search' => $this->remoteSearch,\n 'from_configuration' => $this->fromConfiguration?->getId(),\n 'exception' => $exception->getMessage(),\n 'attempts' => $this->attempts(),\n ]);\n }\n\n private function resetCrmMappings(\n Activity $activity,\n ActivityRepository $activityRepository\n ): void {\n $activity->update([\n 'lead_id' => null,\n 'contact_id' => null,\n 'account_id' => null,\n 'opportunity_id' => null,\n 'stage_id' => null,\n ]);\n\n $participantsOldState = $activityRepository->getActivityParticipants($activity)\n ->map(function ($participant) {\n return [\n 'id' => $participant->id,\n 'user_id' => $participant->user_id,\n 'contact_id' => $participant->contact_id,\n 'lead_id' => $participant->lead_id,\n ];\n });\n\n if ($participantsOldState->isNotEmpty()) {\n Log::info('[MatchActivityCrmData] Participants old state', [\n 'activity' => $this->activityId,\n 'participants' => $participantsOldState->toArray(),\n ]);\n }\n\n $activity->participants()->update([\n 'user_id' => null,\n 'contact_id' => null,\n 'lead_id' => null,\n ]);\n }\n\n private function switchCrmConfigurationIfNeeded(Activity $activity): void\n {\n if ($this->fromConfiguration === null) {\n return;\n }\n\n if ($activity->getCrm()?->getId() === $this->fromConfiguration->getId()) {\n return;\n }\n\n Log::info('[MatchActivityCrmData] Switching CRM configuration', [\n 'activity' => $this->activityId,\n 'old_configuration' => $activity->getCrm()?->getId(),\n 'new_configuration' => $this->fromConfiguration->getId(),\n ]);\n\n $activity->update([\n 'crm_configuration_id' => $this->fromConfiguration->getId(),\n 'crm_provider_id' => null,\n ]);\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":"19","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-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {\n\"headers\":{\n\"Date\":[\"Thu,07 May 2026 14:21:15 GMT\"],\n \"Content-Type\":[\"application/json;charset=utf-8\"],\n \"Transfer-Encoding\":[\"chunked\"],\n \"Connection\":[\"keep-alive\"],\n \"CF-Ray\":[\"9f80deb8db60dc3a-SOF\"],\n \"CF-Cache-Status\":[\"DYNAMIC\"],\n \"Strict-Transport-Security\":[\"max-age=31536000; includeSubDomains; preload\"],\n \"Vary\":[\"origin,\n accept-encoding\"],\n \"access-control-allow-credentials\":[\"false\"],\n \"server-timing\":[\"hcid;desc=\\\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\\\",\n cfr;desc=\\\"9f80deb8e7c6dc3a-IAD\\\"\"],\n \"x-content-type-options\":[\"nosniff\"],\n \"x-hubspot-correlation-id\":[\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\"],\n \"Set-Cookie\":[\"__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-1.0.1.1-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,\n 07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None\"],\n \"Report-To\":[\"{\n\\\"endpoints\\\":[{\n\\\"url\\\":\\\"https:\\\\/\\\\/a.nel.cloudflare.com\\\\/report\\\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\\\"}],\n\\\"group\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"NEL\":[\"{\n\\\"success_fraction\\\":0.01,\n\\\"report_to\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"Server\":[\"cloudflare\"]}} {\n\"correlation_id\":\"95236535-ec98-4541-b92a-adfa73b69eab\",\n\"trace_id\":\"c7ab8365-903f-46d4-9403-0e5b551e3545\"}","depth":4,"on_screen":true,"value":"[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {\n\"headers\":{\n\"Date\":[\"Thu,07 May 2026 14:21:15 GMT\"],\n \"Content-Type\":[\"application/json;charset=utf-8\"],\n \"Transfer-Encoding\":[\"chunked\"],\n \"Connection\":[\"keep-alive\"],\n \"CF-Ray\":[\"9f80deb8db60dc3a-SOF\"],\n \"CF-Cache-Status\":[\"DYNAMIC\"],\n \"Strict-Transport-Security\":[\"max-age=31536000; includeSubDomains; preload\"],\n \"Vary\":[\"origin,\n accept-encoding\"],\n \"access-control-allow-credentials\":[\"false\"],\n \"server-timing\":[\"hcid;desc=\\\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\\\",\n cfr;desc=\\\"9f80deb8e7c6dc3a-IAD\\\"\"],\n \"x-content-type-options\":[\"nosniff\"],\n \"x-hubspot-correlation-id\":[\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\"],\n \"Set-Cookie\":[\"__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-1.0.1.1-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,\n 07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None\"],\n \"Report-To\":[\"{\n\\\"endpoints\\\":[{\n\\\"url\\\":\\\"https:\\\\/\\\\/a.nel.cloudflare.com\\\\/report\\\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\\\"}],\n\\\"group\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"NEL\":[\"{\n\\\"success_fraction\\\":0.01,\n\\\"report_to\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"Server\":[\"cloudflare\"]}} {\n\"correlation_id\":\"95236535-ec98-4541-b92a-adfa73b69eab\",\n\"trace_id\":\"c7ab8365-903f-46d4-9403-0e5b551e3545\"}","role_description":"text entry area","is_enabled":true,"is_focused":false,"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}]...
|
1363329071395396235
|
6666470271896242332
|
idle
|
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
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
maxExceptions
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/1
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Code changed:
Hide
Sync Changes
Hide This Notification
1
8
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Jobs\Crm;
use Exception;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Database\Connection;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use Illuminate\Support\Facades\Log;
use Jiminny\Component\Queue\Constants;
use Jiminny\Exceptions\InvalidArgumentException;
use Jiminny\Exceptions\RateLimitException;
use Jiminny\Jobs\Job;
use Jiminny\Jobs\Middleware\HandleHubspotRateLimit;
use Jiminny\Models\Activity;
use Jiminny\Models\Crm\Configuration;
use Jiminny\Repositories\ActivityRepository;
use Jiminny\Services\Crm\CrmActivityService;
use Psr\Container\ContainerExceptionInterface;
use Psr\Container\NotFoundExceptionInterface;
use Throwable;
class MatchActivityCrmData extends Job implements ShouldQueue, ShouldBeUnique
{
use InteractsWithQueue;
use SerializesModels;
public int $maxExceptions = 3;
private const int RETRY_WINDOW_MINUTES = 30;
private int $activityId;
private ?Configuration $fromConfiguration;
private bool $remoteSearch;
public function middleware(): array
{
return [new HandleHubspotRateLimit()];
}
public function retryUntil(): \DateTimeInterface
{
return now()->addMinutes(self::RETRY_WINDOW_MINUTES);
}
public function __construct(
int $activityId,
?Configuration $fromConfiguration = null,
bool $remoteSearch = false,
) {
$this->activityId = $activityId;
$this->fromConfiguration = $fromConfiguration;
$this->remoteSearch = $remoteSearch;
$this->onQueue(Constants::QUEUE_ANALYTICS_LOW);
}
public function uniqueId(): string
{
$configId = $this->fromConfiguration?->getId() ?? 0;
$remote = $this->remoteSearch ? 'remote' : 'local';
return "$this->activityId:$configId:$remote";
}
public function timeout(): int
{
return 300; // 5 minutes max execution time
}
public function uniqueFor(): int
{
return self::RETRY_WINDOW_MINUTES * 60 + 60;
}
public function backoff(): array
{
return [30, 90, 180];
}
/**
* @throws ContainerExceptionInterface
* @throws NotFoundExceptionInterface
* @throws Exception|Throwable
*/
public function handle(
ActivityRepository $activityRepository,
CrmActivityService $crmActivityService,
Connection $connection,
): void {
$activity = $activityRepository->findById($this->activityId);
if ($activity === null) {
throw new InvalidArgumentException('[MatchActivityCrmData] Cannot find activity.');
}
try {
$connection->transaction(function () use ($activity, $crmActivityService, $activityRepository) {
Log::info('[MatchActivityCrmData] Starting CRM data matching', [
'activity' => $this->activityId,
'remote_search' => $this->remoteSearch,
'set_configuration' => $this->fromConfiguration?->getId(),
'old_state' => [
'lead_id' => $activity->getLead()?->getId(),
'contact_id' => $activity->getContact()?->getId(),
'account_id' => $activity->getAccount()?->getId(),
'opportunity_id' => $activity->getOpportunity()?->getId(),
'stage_id' => $activity->getStage()?->getId(),
],
]);
$this->resetCrmMappings($activity, $activityRepository);
$this->switchCrmConfigurationIfNeeded($activity);
$activity->refresh();
$crmActivityService->updateCrmData(
activity: $activity,
remoteSearch: $this->remoteSearch,
);
$hasMatch = $activity->getLead() !== null
|| $activity->getContact() !== null
|| $activity->getAccount() !== null
|| $activity->getOpportunity() !== null;
if ($hasMatch) {
Log::info('[MatchActivityCrmData] Successfully matched CRM data', [
'activity' => $this->activityId,
'remote_search' => $this->remoteSearch,
'lead_id' => $activity->getLead()?->getId(),
'contact_id' => $activity->getContact()?->getId(),
'account_id' => $activity->getAccount()?->getId(),
'opportunity_id' => $activity->getOpportunity()?->getId(),
'stage_id' => $activity->getStage()?->getId(),
]);
} else {
Log::info('[MatchActivityCrmData] No CRM match found', [
'activity' => $this->activityId,
'remote_search' => $this->remoteSearch,
]);
}
});
} catch (Throwable $e) {
if (! $e instanceof RateLimitException) {
Log::error('[MatchActivityCrmData] Failed to match CRM data', [
'activity' => $this->activityId,
'remote_search' => $this->remoteSearch,
'exception' => $e->getMessage(),
'trace' => $e->getTraceAsString(),
]);
}
throw $e;
}
}
public function failed(Throwable $exception): void
{
Log::error('[MatchActivityCrmData] Job permanently failed after all retries', [
'activity' => $this->activityId,
'remote_search' => $this->remoteSearch,
'from_configuration' => $this->fromConfiguration?->getId(),
'exception' => $exception->getMessage(),
'attempts' => $this->attempts(),
]);
}
private function resetCrmMappings(
Activity $activity,
ActivityRepository $activityRepository
): void {
$activity->update([
'lead_id' => null,
'contact_id' => null,
'account_id' => null,
'opportunity_id' => null,
'stage_id' => null,
]);
$participantsOldState = $activityRepository->getActivityParticipants($activity)
->map(function ($participant) {
return [
'id' => $participant->id,
'user_id' => $participant->user_id,
'contact_id' => $participant->contact_id,
'lead_id' => $participant->lead_id,
];
});
if ($participantsOldState->isNotEmpty()) {
Log::info('[MatchActivityCrmData] Participants old state', [
'activity' => $this->activityId,
'participants' => $participantsOldState->toArray(),
]);
}
$activity->participants()->update([
'user_id' => null,
'contact_id' => null,
'lead_id' => null,
]);
}
private function switchCrmConfigurationIfNeeded(Activity $activity): void
{
if ($this->fromConfiguration === null) {
return;
}
if ($activity->getCrm()?->getId() === $this->fromConfiguration->getId()) {
return;
}
Log::info('[MatchActivityCrmData] Switching CRM configuration', [
'activity' => $this->activityId,
'old_configuration' => $activity->getCrm()?->getId(),
'new_configuration' => $this->fromConfiguration->getId(),
]);
$activity->update([
'crm_configuration_id' => $this->fromConfiguration->getId(),
'crm_provider_id' => null,
]);
}
}
Sync Changes
Hide This Notification
Code changed:
Hide
19
Previous Highlighted Error
Next Highlighted Error
[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {
"headers":{
"Date":["Thu,07 May 2026 14:21:15 GMT"],
"Content-Type":["application/json;charset=utf-8"],
"Transfer-Encoding":["chunked"],
"Connection":["keep-alive"],
"CF-Ray":["9f80deb8db60dc3a-SOF"],
"CF-Cache-Status":["DYNAMIC"],
"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],
"Vary":["origin,
accept-encoding"],
"access-control-allow-credentials":["false"],
"server-timing":["hcid;desc=\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\",
cfr;desc=\"9f80deb8e7c6dc3a-IAD\""],
"x-content-type-options":["nosniff"],
"x-hubspot-correlation-id":["019e02d0-6fd8-7812-bdba-885b7ccb3ee3"],
"Set-Cookie":["__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-[IP_ADDRESS]-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,
07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None"],
"Report-To":["{
\"endpoints\":[{
\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\"}],
\"group\":\"cf-nel\",
\"max_age\":604800}"],
"NEL":["{
\"success_fraction\":0.01,
\"report_to\":\"cf-nel\",
\"max_age\":604800}"],
"Server":["cloudflare"]}} {
"correlation_id":"95236535-ec98-4541-b92a-adfa73b69eab",
"trace_id":"c7ab8365-903f-46d4-9403-0e5b551e3545"}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
17001
|
NULL
|
NULL
|
NULL
|
|
17006
|
NULL
|
0
|
2026-05-11T09:55:43.182078+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778493343182_m2.jpg...
|
PhpStorm
|
faVsco.js – MatchActivityCrmData.php
|
1
|
NULL
|
monitor_2
|
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
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
maxExceptions
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/1
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Code changed:
Hide
Sync Changes
Hide This Notification
1
8
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Jobs\Crm;
use Exception;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Database\Connection;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use Illuminate\Support\Facades\Log;
use Jiminny\Component\Queue\Constants;
use Jiminny\Exceptions\InvalidArgumentException;
use Jiminny\Exceptions\RateLimitException;
use Jiminny\Jobs\Job;
use Jiminny\Jobs\Middleware\HandleHubspotRateLimit;
use Jiminny\Models\Activity;
use Jiminny\Models\Crm\Configuration;
use Jiminny\Repositories\ActivityRepository;
use Jiminny\Services\Crm\CrmActivityService;
use Psr\Container\ContainerExceptionInterface;
use Psr\Container\NotFoundExceptionInterface;
use Throwable;
class MatchActivityCrmData extends Job implements ShouldQueue, ShouldBeUnique
{
use InteractsWithQueue;
use SerializesModels;
public int $maxExceptions = 3;
private const int RETRY_WINDOW_MINUTES = 30;
private int $activityId;
private ?Configuration $fromConfiguration;
private bool $remoteSearch;
public function middleware(): array
{
return [new HandleHubspotRateLimit()];
}
public function retryUntil(): \DateTimeInterface
{
return now()->addMinutes(self::RETRY_WINDOW_MINUTES);
}
public function __construct(
int $activityId,
?Configuration $fromConfiguration = null,
bool $remoteSearch = false,
) {
$this->activityId = $activityId;
$this->fromConfiguration = $fromConfiguration;
$this->remoteSearch = $remoteSearch;
$this->onQueue(Constants::QUEUE_ANALYTICS_LOW);
}
public function uniqueId(): string
{
$configId = $this->fromConfiguration?->getId() ?? 0;
$remote = $this->remoteSearch ? 'remote' : 'local';
return "$this->activityId:$configId:$remote";
}
public function timeout(): int
{
return 300; // 5 minutes max execution time
}
public function uniqueFor(): int
{
return self::RETRY_WINDOW_MINUTES * 60 + 60;
}
public function backoff(): array
{
return [30, 90, 180];
}
/**
* @throws ContainerExceptionInterface
* @throws NotFoundExceptionInterface
* @throws Exception|Throwable
*/
public function handle(
ActivityRepository $activityRepository,
CrmActivityService $crmActivityService,
Connection $connection,
): void {
$activity = $activityRepository->findById($this->activityId);
if ($activity === null) {
throw new InvalidArgumentException('[MatchActivityCrmData] Cannot find activity.');
}
try {
$connection->transaction(function () use ($activity, $crmActivityService, $activityRepository) {
Log::info('[MatchActivityCrmData] Starting CRM data matching', [
'activity' => $this->activityId,
'remote_search' => $this->remoteSearch,
'set_configuration' => $this->fromConfiguration?->getId(),
'old_state' => [
'lead_id' => $activity->getLead()?->getId(),
'contact_id' => $activity->getContact()?->getId(),
'account_id' => $activity->getAccount()?->getId(),
'opportunity_id' => $activity->getOpportunity()?->getId(),
'stage_id' => $activity->getStage()?->getId(),
],
]);
$this->resetCrmMappings($activity, $activityRepository);
$this->switchCrmConfigurationIfNeeded($activity);
$activity->refresh();
$crmActivityService->updateCrmData(
activity: $activity,
remoteSearch: $this->remoteSearch,
);
$hasMatch = $activity->getLead() !== null
|| $activity->getContact() !== null
|| $activity->getAccount() !== null
|| $activity->getOpportunity() !== null;
if ($hasMatch) {
Log::info('[MatchActivityCrmData] Successfully matched CRM data', [
'activity' => $this->activityId,
'remote_search' => $this->remoteSearch,
'lead_id' => $activity->getLead()?->getId(),
'contact_id' => $activity->getContact()?->getId(),
'account_id' => $activity->getAccount()?->getId(),
'opportunity_id' => $activity->getOpportunity()?->getId(),
'stage_id' => $activity->getStage()?->getId(),
]);
} else {
Log::info('[MatchActivityCrmData] No CRM match found', [
'activity' => $this->activityId,
'remote_search' => $this->remoteSearch,
]);
}
});
} catch (Throwable $e) {
if (! $e instanceof RateLimitException) {
Log::error('[MatchActivityCrmData] Failed to match CRM data', [
'activity' => $this->activityId,
'remote_search' => $this->remoteSearch,
'exception' => $e->getMessage(),
'trace' => $e->getTraceAsString(),
]);
}
throw $e;
}
}
public function failed(Throwable $exception): void
{
Log::error('[MatchActivityCrmData] Job permanently failed after all retries', [
'activity' => $this->activityId,
'remote_search' => $this->remoteSearch,
'from_configuration' => $this->fromConfiguration?->getId(),
'exception' => $exception->getMessage(),
'attempts' => $this->attempts(),
]);
}
private function resetCrmMappings(
Activity $activity,
ActivityRepository $activityRepository
): void {
$activity->update([
'lead_id' => null,
'contact_id' => null,
'account_id' => null,
'opportunity_id' => null,
'stage_id' => null,
]);
$participantsOldState = $activityRepository->getActivityParticipants($activity)
->map(function ($participant) {
return [
'id' => $participant->id,
'user_id' => $participant->user_id,
'contact_id' => $participant->contact_id,
'lead_id' => $participant->lead_id,
];
});
if ($participantsOldState->isNotEmpty()) {
Log::info('[MatchActivityCrmData] Participants old state', [
'activity' => $this->activityId,
'participants' => $participantsOldState->toArray(),
]);
}
$activity->participants()->update([
'user_id' => null,
'contact_id' => null,
'lead_id' => null,
]);
}
private function switchCrmConfigurationIfNeeded(Activity $activity): void
{
if ($this->fromConfiguration === null) {
return;
}
if ($activity->getCrm()?->getId() === $this->fromConfiguration->getId()) {
return;
}
Log::info('[MatchActivityCrmData] Switching CRM configuration', [
'activity' => $this->activityId,
'old_configuration' => $activity->getCrm()?->getId(),
'new_configuration' => $this->fromConfiguration->getId(),
]);
$activity->update([
'crm_configuration_id' => $this->fromConfiguration->getId(),
'crm_provider_id' => null,
]);
}
}
Sync Changes
Hide This Notification
Code changed:
Hide
19
Previous Highlighted Error
Next Highlighted Error
[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {
"headers":{
"Date":["Thu,07 May 2026 14:21:15 GMT"],
"Content-Type":["application/json;charset=utf-8"],
"Transfer-Encoding":["chunked"],
"Connection":["keep-alive"],
"CF-Ray":["9f80deb8db60dc3a-SOF"],
"CF-Cache-Status":["DYNAMIC"],
"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],
"Vary":["origin,
accept-encoding"],
"access-control-allow-credentials":["false"],
"server-timing":["hcid;desc=\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\",
cfr;desc=\"9f80deb8e7c6dc3a-IAD\""],
"x-content-type-options":["nosniff"],
"x-hubspot-correlation-id":["019e02d0-6fd8-7812-bdba-885b7ccb3ee3"],
"Set-Cookie":["__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-[IP_ADDRESS]-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,
07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None"],
"Report-To":["{
\"endpoints\":[{
\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\"}],
\"group\":\"cf-nel\",
\"max_age\":604800}"],
"NEL":["{
\"success_fraction\":0.01,
\"report_to\":\"cf-nel\",
\"max_age\":604800}"],
"Server":["cloudflare"]}} {
"correlation_id":"95236535-ec98-4541-b92a-adfa73b69eab",
"trace_id":"c7ab8365-903f-46d4-9403-0e5b551e3545"}
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":"JY-20725-handle-HS-search-rate-limit, menu","depth":5,"bounds":{"left":0.064494684,"top":0.019952115,"width":0.09541223,"height":0.025538707},"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,"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":"Show Replace Field","depth":4,"bounds":{"left":0.10472074,"top":0.25379092,"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":"AXCheckBox","text":"Search History","depth":3,"bounds":{"left":0.11735372,"top":0.2529928,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextArea","text":"maxExceptions","depth":4,"bounds":{"left":0.12832446,"top":0.2529928,"width":0.043882977,"height":0.015961692},"on_screen":true,"value":"maxExceptions","role_description":"text entry area","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"New Line","depth":3,"bounds":{"left":0.18118352,"top":0.2529928,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Match Case","depth":3,"bounds":{"left":0.19115691,"top":0.2529928,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Words","depth":3,"bounds":{"left":0.19980054,"top":0.2529928,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Regex","depth":3,"bounds":{"left":0.20844415,"top":0.2529928,"width":0.00731383,"height":0.017557861},"on_screen":true,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Replace History","depth":3,"bounds":{"left":0.27027926,"top":1.0,"width":0.00731383,"height":0.0},"on_screen":false,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXTextField","text":"Replace","depth":4,"on_screen":false,"role_description":"text field","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"New Line","depth":3,"bounds":{"left":0.27027926,"top":1.0,"width":0.00731383,"height":0.0},"on_screen":false,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXCheckBox","text":"Preserve case","depth":3,"bounds":{"left":0.27027926,"top":1.0,"width":0.00731383,"height":0.0},"on_screen":false,"role_description":"checkbox","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXStaticText","text":"1/1","depth":4,"bounds":{"left":0.22207446,"top":0.25219473,"width":0.025598405,"height":0.017557861},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Occurrence","depth":4,"bounds":{"left":0.24767287,"top":0.25139666,"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":"Next Occurrence","depth":4,"bounds":{"left":0.25631648,"top":0.25139666,"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":"Filter Search Results","depth":4,"bounds":{"left":0.2649601,"top":0.25139666,"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 in Window, Multiple Cursors","depth":4,"bounds":{"left":0.27360374,"top":0.25139666,"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":"AXLink","text":"Click to highlight","depth":4,"on_screen":false,"role_description":"link","is_enabled":true,"is_focused":false,"is_selected":false,"is_expanded":false},{"role":"AXButton","text":"Close","depth":4,"bounds":{"left":0.39793882,"top":0.25139666,"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":"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":"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":"AXStaticText","text":"1","depth":4,"bounds":{"left":0.3776596,"top":0.28252193,"width":0.00731383,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"8","depth":4,"bounds":{"left":0.38696808,"top":0.28252193,"width":0.007978723,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.39660904,"top":0.28092578,"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.4039229,"top":0.28092578,"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":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Jobs\\Crm;\n\nuse Exception;\nuse Illuminate\\Contracts\\Queue\\ShouldBeUnique;\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\nuse Illuminate\\Database\\Connection;\nuse Illuminate\\Queue\\InteractsWithQueue;\nuse Illuminate\\Queue\\SerializesModels;\nuse Illuminate\\Support\\Facades\\Log;\nuse Jiminny\\Component\\Queue\\Constants;\nuse Jiminny\\Exceptions\\InvalidArgumentException;\nuse Jiminny\\Exceptions\\RateLimitException;\nuse Jiminny\\Jobs\\Job;\nuse Jiminny\\Jobs\\Middleware\\HandleHubspotRateLimit;\nuse Jiminny\\Models\\Activity;\nuse Jiminny\\Models\\Crm\\Configuration;\nuse Jiminny\\Repositories\\ActivityRepository;\nuse Jiminny\\Services\\Crm\\CrmActivityService;\nuse Psr\\Container\\ContainerExceptionInterface;\nuse Psr\\Container\\NotFoundExceptionInterface;\nuse Throwable;\n\nclass MatchActivityCrmData extends Job implements ShouldQueue, ShouldBeUnique\n{\n use InteractsWithQueue;\n use SerializesModels;\n\n public int $maxExceptions = 3;\n\n private const int RETRY_WINDOW_MINUTES = 30;\n\n private int $activityId;\n private ?Configuration $fromConfiguration;\n private bool $remoteSearch;\n\n public function middleware(): array\n {\n return [new HandleHubspotRateLimit()];\n }\n\n public function retryUntil(): \\DateTimeInterface\n {\n return now()->addMinutes(self::RETRY_WINDOW_MINUTES);\n }\n\n public function __construct(\n int $activityId,\n ?Configuration $fromConfiguration = null,\n bool $remoteSearch = false,\n ) {\n $this->activityId = $activityId;\n $this->fromConfiguration = $fromConfiguration;\n $this->remoteSearch = $remoteSearch;\n\n $this->onQueue(Constants::QUEUE_ANALYTICS_LOW);\n }\n\n public function uniqueId(): string\n {\n $configId = $this->fromConfiguration?->getId() ?? 0;\n $remote = $this->remoteSearch ? 'remote' : 'local';\n\n return \"$this->activityId:$configId:$remote\";\n }\n\n public function timeout(): int\n {\n return 300; // 5 minutes max execution time\n }\n\n public function uniqueFor(): int\n {\n return self::RETRY_WINDOW_MINUTES * 60 + 60;\n }\n\n public function backoff(): array\n {\n return [30, 90, 180];\n }\n\n /**\n * @throws ContainerExceptionInterface\n * @throws NotFoundExceptionInterface\n * @throws Exception|Throwable\n */\n public function handle(\n ActivityRepository $activityRepository,\n CrmActivityService $crmActivityService,\n Connection $connection,\n ): void {\n $activity = $activityRepository->findById($this->activityId);\n if ($activity === null) {\n throw new InvalidArgumentException('[MatchActivityCrmData] Cannot find activity.');\n }\n\n try {\n $connection->transaction(function () use ($activity, $crmActivityService, $activityRepository) {\n Log::info('[MatchActivityCrmData] Starting CRM data matching', [\n 'activity' => $this->activityId,\n 'remote_search' => $this->remoteSearch,\n 'set_configuration' => $this->fromConfiguration?->getId(),\n 'old_state' => [\n 'lead_id' => $activity->getLead()?->getId(),\n 'contact_id' => $activity->getContact()?->getId(),\n 'account_id' => $activity->getAccount()?->getId(),\n 'opportunity_id' => $activity->getOpportunity()?->getId(),\n 'stage_id' => $activity->getStage()?->getId(),\n ],\n ]);\n\n $this->resetCrmMappings($activity, $activityRepository);\n\n $this->switchCrmConfigurationIfNeeded($activity);\n\n $activity->refresh();\n\n $crmActivityService->updateCrmData(\n activity: $activity,\n remoteSearch: $this->remoteSearch,\n );\n\n $hasMatch = $activity->getLead() !== null\n || $activity->getContact() !== null\n || $activity->getAccount() !== null\n || $activity->getOpportunity() !== null;\n\n if ($hasMatch) {\n Log::info('[MatchActivityCrmData] Successfully matched CRM data', [\n 'activity' => $this->activityId,\n 'remote_search' => $this->remoteSearch,\n 'lead_id' => $activity->getLead()?->getId(),\n 'contact_id' => $activity->getContact()?->getId(),\n 'account_id' => $activity->getAccount()?->getId(),\n 'opportunity_id' => $activity->getOpportunity()?->getId(),\n 'stage_id' => $activity->getStage()?->getId(),\n ]);\n } else {\n Log::info('[MatchActivityCrmData] No CRM match found', [\n 'activity' => $this->activityId,\n 'remote_search' => $this->remoteSearch,\n ]);\n }\n });\n } catch (Throwable $e) {\n if (! $e instanceof RateLimitException) {\n Log::error('[MatchActivityCrmData] Failed to match CRM data', [\n 'activity' => $this->activityId,\n 'remote_search' => $this->remoteSearch,\n 'exception' => $e->getMessage(),\n 'trace' => $e->getTraceAsString(),\n ]);\n }\n\n throw $e;\n }\n }\n\n public function failed(Throwable $exception): void\n {\n Log::error('[MatchActivityCrmData] Job permanently failed after all retries', [\n 'activity' => $this->activityId,\n 'remote_search' => $this->remoteSearch,\n 'from_configuration' => $this->fromConfiguration?->getId(),\n 'exception' => $exception->getMessage(),\n 'attempts' => $this->attempts(),\n ]);\n }\n\n private function resetCrmMappings(\n Activity $activity,\n ActivityRepository $activityRepository\n ): void {\n $activity->update([\n 'lead_id' => null,\n 'contact_id' => null,\n 'account_id' => null,\n 'opportunity_id' => null,\n 'stage_id' => null,\n ]);\n\n $participantsOldState = $activityRepository->getActivityParticipants($activity)\n ->map(function ($participant) {\n return [\n 'id' => $participant->id,\n 'user_id' => $participant->user_id,\n 'contact_id' => $participant->contact_id,\n 'lead_id' => $participant->lead_id,\n ];\n });\n\n if ($participantsOldState->isNotEmpty()) {\n Log::info('[MatchActivityCrmData] Participants old state', [\n 'activity' => $this->activityId,\n 'participants' => $participantsOldState->toArray(),\n ]);\n }\n\n $activity->participants()->update([\n 'user_id' => null,\n 'contact_id' => null,\n 'lead_id' => null,\n ]);\n }\n\n private function switchCrmConfigurationIfNeeded(Activity $activity): void\n {\n if ($this->fromConfiguration === null) {\n return;\n }\n\n if ($activity->getCrm()?->getId() === $this->fromConfiguration->getId()) {\n return;\n }\n\n Log::info('[MatchActivityCrmData] Switching CRM configuration', [\n 'activity' => $this->activityId,\n 'old_configuration' => $activity->getCrm()?->getId(),\n 'new_configuration' => $this->fromConfiguration->getId(),\n ]);\n\n $activity->update([\n 'crm_configuration_id' => $this->fromConfiguration->getId(),\n 'crm_provider_id' => null,\n ]);\n }\n}","depth":4,"on_screen":true,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Jobs\\Crm;\n\nuse Exception;\nuse Illuminate\\Contracts\\Queue\\ShouldBeUnique;\nuse Illuminate\\Contracts\\Queue\\ShouldQueue;\nuse Illuminate\\Database\\Connection;\nuse Illuminate\\Queue\\InteractsWithQueue;\nuse Illuminate\\Queue\\SerializesModels;\nuse Illuminate\\Support\\Facades\\Log;\nuse Jiminny\\Component\\Queue\\Constants;\nuse Jiminny\\Exceptions\\InvalidArgumentException;\nuse Jiminny\\Exceptions\\RateLimitException;\nuse Jiminny\\Jobs\\Job;\nuse Jiminny\\Jobs\\Middleware\\HandleHubspotRateLimit;\nuse Jiminny\\Models\\Activity;\nuse Jiminny\\Models\\Crm\\Configuration;\nuse Jiminny\\Repositories\\ActivityRepository;\nuse Jiminny\\Services\\Crm\\CrmActivityService;\nuse Psr\\Container\\ContainerExceptionInterface;\nuse Psr\\Container\\NotFoundExceptionInterface;\nuse Throwable;\n\nclass MatchActivityCrmData extends Job implements ShouldQueue, ShouldBeUnique\n{\n use InteractsWithQueue;\n use SerializesModels;\n\n public int $maxExceptions = 3;\n\n private const int RETRY_WINDOW_MINUTES = 30;\n\n private int $activityId;\n private ?Configuration $fromConfiguration;\n private bool $remoteSearch;\n\n public function middleware(): array\n {\n return [new HandleHubspotRateLimit()];\n }\n\n public function retryUntil(): \\DateTimeInterface\n {\n return now()->addMinutes(self::RETRY_WINDOW_MINUTES);\n }\n\n public function __construct(\n int $activityId,\n ?Configuration $fromConfiguration = null,\n bool $remoteSearch = false,\n ) {\n $this->activityId = $activityId;\n $this->fromConfiguration = $fromConfiguration;\n $this->remoteSearch = $remoteSearch;\n\n $this->onQueue(Constants::QUEUE_ANALYTICS_LOW);\n }\n\n public function uniqueId(): string\n {\n $configId = $this->fromConfiguration?->getId() ?? 0;\n $remote = $this->remoteSearch ? 'remote' : 'local';\n\n return \"$this->activityId:$configId:$remote\";\n }\n\n public function timeout(): int\n {\n return 300; // 5 minutes max execution time\n }\n\n public function uniqueFor(): int\n {\n return self::RETRY_WINDOW_MINUTES * 60 + 60;\n }\n\n public function backoff(): array\n {\n return [30, 90, 180];\n }\n\n /**\n * @throws ContainerExceptionInterface\n * @throws NotFoundExceptionInterface\n * @throws Exception|Throwable\n */\n public function handle(\n ActivityRepository $activityRepository,\n CrmActivityService $crmActivityService,\n Connection $connection,\n ): void {\n $activity = $activityRepository->findById($this->activityId);\n if ($activity === null) {\n throw new InvalidArgumentException('[MatchActivityCrmData] Cannot find activity.');\n }\n\n try {\n $connection->transaction(function () use ($activity, $crmActivityService, $activityRepository) {\n Log::info('[MatchActivityCrmData] Starting CRM data matching', [\n 'activity' => $this->activityId,\n 'remote_search' => $this->remoteSearch,\n 'set_configuration' => $this->fromConfiguration?->getId(),\n 'old_state' => [\n 'lead_id' => $activity->getLead()?->getId(),\n 'contact_id' => $activity->getContact()?->getId(),\n 'account_id' => $activity->getAccount()?->getId(),\n 'opportunity_id' => $activity->getOpportunity()?->getId(),\n 'stage_id' => $activity->getStage()?->getId(),\n ],\n ]);\n\n $this->resetCrmMappings($activity, $activityRepository);\n\n $this->switchCrmConfigurationIfNeeded($activity);\n\n $activity->refresh();\n\n $crmActivityService->updateCrmData(\n activity: $activity,\n remoteSearch: $this->remoteSearch,\n );\n\n $hasMatch = $activity->getLead() !== null\n || $activity->getContact() !== null\n || $activity->getAccount() !== null\n || $activity->getOpportunity() !== null;\n\n if ($hasMatch) {\n Log::info('[MatchActivityCrmData] Successfully matched CRM data', [\n 'activity' => $this->activityId,\n 'remote_search' => $this->remoteSearch,\n 'lead_id' => $activity->getLead()?->getId(),\n 'contact_id' => $activity->getContact()?->getId(),\n 'account_id' => $activity->getAccount()?->getId(),\n 'opportunity_id' => $activity->getOpportunity()?->getId(),\n 'stage_id' => $activity->getStage()?->getId(),\n ]);\n } else {\n Log::info('[MatchActivityCrmData] No CRM match found', [\n 'activity' => $this->activityId,\n 'remote_search' => $this->remoteSearch,\n ]);\n }\n });\n } catch (Throwable $e) {\n if (! $e instanceof RateLimitException) {\n Log::error('[MatchActivityCrmData] Failed to match CRM data', [\n 'activity' => $this->activityId,\n 'remote_search' => $this->remoteSearch,\n 'exception' => $e->getMessage(),\n 'trace' => $e->getTraceAsString(),\n ]);\n }\n\n throw $e;\n }\n }\n\n public function failed(Throwable $exception): void\n {\n Log::error('[MatchActivityCrmData] Job permanently failed after all retries', [\n 'activity' => $this->activityId,\n 'remote_search' => $this->remoteSearch,\n 'from_configuration' => $this->fromConfiguration?->getId(),\n 'exception' => $exception->getMessage(),\n 'attempts' => $this->attempts(),\n ]);\n }\n\n private function resetCrmMappings(\n Activity $activity,\n ActivityRepository $activityRepository\n ): void {\n $activity->update([\n 'lead_id' => null,\n 'contact_id' => null,\n 'account_id' => null,\n 'opportunity_id' => null,\n 'stage_id' => null,\n ]);\n\n $participantsOldState = $activityRepository->getActivityParticipants($activity)\n ->map(function ($participant) {\n return [\n 'id' => $participant->id,\n 'user_id' => $participant->user_id,\n 'contact_id' => $participant->contact_id,\n 'lead_id' => $participant->lead_id,\n ];\n });\n\n if ($participantsOldState->isNotEmpty()) {\n Log::info('[MatchActivityCrmData] Participants old state', [\n 'activity' => $this->activityId,\n 'participants' => $participantsOldState->toArray(),\n ]);\n }\n\n $activity->participants()->update([\n 'user_id' => null,\n 'contact_id' => null,\n 'lead_id' => null,\n ]);\n }\n\n private function switchCrmConfigurationIfNeeded(Activity $activity): void\n {\n if ($this->fromConfiguration === null) {\n return;\n }\n\n if ($activity->getCrm()?->getId() === $this->fromConfiguration->getId()) {\n return;\n }\n\n Log::info('[MatchActivityCrmData] Switching CRM configuration', [\n 'activity' => $this->activityId,\n 'old_configuration' => $activity->getCrm()?->getId(),\n 'new_configuration' => $this->fromConfiguration->getId(),\n ]);\n\n $activity->update([\n 'crm_configuration_id' => $this->fromConfiguration->getId(),\n 'crm_provider_id' => null,\n ]);\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.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":"19","depth":4,"bounds":{"left":0.6296542,"top":0.10055866,"width":0.009640957,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.6409575,"top":0.09896249,"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.64827126,"top":0.09896249,"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":"[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {\n\"headers\":{\n\"Date\":[\"Thu,07 May 2026 14:21:15 GMT\"],\n \"Content-Type\":[\"application/json;charset=utf-8\"],\n \"Transfer-Encoding\":[\"chunked\"],\n \"Connection\":[\"keep-alive\"],\n \"CF-Ray\":[\"9f80deb8db60dc3a-SOF\"],\n \"CF-Cache-Status\":[\"DYNAMIC\"],\n \"Strict-Transport-Security\":[\"max-age=31536000; includeSubDomains; preload\"],\n \"Vary\":[\"origin,\n accept-encoding\"],\n \"access-control-allow-credentials\":[\"false\"],\n \"server-timing\":[\"hcid;desc=\\\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\\\",\n cfr;desc=\\\"9f80deb8e7c6dc3a-IAD\\\"\"],\n \"x-content-type-options\":[\"nosniff\"],\n \"x-hubspot-correlation-id\":[\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\"],\n \"Set-Cookie\":[\"__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-1.0.1.1-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,\n 07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None\"],\n \"Report-To\":[\"{\n\\\"endpoints\\\":[{\n\\\"url\\\":\\\"https:\\\\/\\\\/a.nel.cloudflare.com\\\\/report\\\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\\\"}],\n\\\"group\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"NEL\":[\"{\n\\\"success_fraction\\\":0.01,\n\\\"report_to\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"Server\":[\"cloudflare\"]}} {\n\"correlation_id\":\"95236535-ec98-4541-b92a-adfa73b69eab\",\n\"trace_id\":\"c7ab8365-903f-46d4-9403-0e5b551e3545\"}","depth":4,"bounds":{"left":0.43018618,"top":0.09736632,"width":0.56981385,"height":0.8818835},"on_screen":true,"lines":[{"char_start":207,"char_count":30,"bounds":{"left":0.43018618,"top":0.0,"width":0.07513298,"height":0.014365523}},{"char_start":237,"char_count":36,"bounds":{"left":0.43018618,"top":0.0,"width":0.09075798,"height":0.014365523}},{"char_start":273,"char_count":32,"bounds":{"left":0.43018618,"top":0.0,"width":0.080119684,"height":0.014365523}},{"char_start":305,"char_count":79,"bounds":{"left":0.43018618,"top":0.0,"width":0.20212767,"height":0.014365523}},{"char_start":384,"char_count":18,"bounds":{"left":0.43018618,"top":0.0,"width":0.043882977,"height":0.014365523}},{"char_start":402,"char_count":21,"bounds":{"left":0.43018618,"top":0.0,"width":0.051861703,"height":0.014365523}},{"char_start":423,"char_count":48,"bounds":{"left":0.43018618,"top":0.008778931,"width":0.12167553,"height":0.014365523}},{"char_start":471,"char_count":72,"bounds":{"left":0.43018618,"top":0.026336791,"width":0.18384309,"height":0.014365523}},{"char_start":543,"char_count":40,"bounds":{"left":0.43018618,"top":0.043894652,"width":0.10106383,"height":0.014365523}},{"char_start":583,"char_count":41,"bounds":{"left":0.43018618,"top":0.061452515,"width":0.10372341,"height":0.014365523}},{"char_start":624,"char_count":72,"bounds":{"left":0.43018618,"top":0.079010375,"width":0.18384309,"height":0.014365523}},{"char_start":696,"char_count":219,"bounds":{"left":0.43018618,"top":0.096568234,"width":0.56515956,"height":0.014365523}},{"char_start":915,"char_count":83,"bounds":{"left":0.43018618,"top":0.11412609,"width":0.21243352,"height":0.014365523}},{"char_start":998,"char_count":20,"bounds":{"left":0.43018618,"top":0.13168396,"width":0.04920213,"height":0.014365523}},{"char_start":1018,"char_count":17,"bounds":{"left":0.43018618,"top":0.14924182,"width":0.041223403,"height":0.014365523}},{"char_start":1035,"char_count":203,"bounds":{"left":0.43018618,"top":0.16679968,"width":0.52360374,"height":0.014365523}},{"char_start":1238,"char_count":22,"bounds":{"left":0.43018618,"top":0.18435754,"width":0.05418883,"height":0.014365523}},{"char_start":1260,"char_count":23,"bounds":{"left":0.43018618,"top":0.2019154,"width":0.056848403,"height":0.014365523}},{"char_start":1283,"char_count":10,"bounds":{"left":0.43018618,"top":0.21947326,"width":0.023271276,"height":0.014365523}},{"char_start":1293,"char_count":27,"bounds":{"left":0.43018618,"top":0.23703113,"width":0.06715426,"height":0.014365523}},{"char_start":1320,"char_count":26,"bounds":{"left":0.43018618,"top":0.254589,"width":0.06482713,"height":0.014365523}},{"char_start":1346,"char_count":23,"bounds":{"left":0.43018618,"top":0.27214685,"width":0.056848403,"height":0.014365523}},{"char_start":1369,"char_count":28,"bounds":{"left":0.43018618,"top":0.2897047,"width":0.06981383,"height":0.014365523}}],"value":"[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {\n\"headers\":{\n\"Date\":[\"Thu,07 May 2026 14:21:15 GMT\"],\n \"Content-Type\":[\"application/json;charset=utf-8\"],\n \"Transfer-Encoding\":[\"chunked\"],\n \"Connection\":[\"keep-alive\"],\n \"CF-Ray\":[\"9f80deb8db60dc3a-SOF\"],\n \"CF-Cache-Status\":[\"DYNAMIC\"],\n \"Strict-Transport-Security\":[\"max-age=31536000; includeSubDomains; preload\"],\n \"Vary\":[\"origin,\n accept-encoding\"],\n \"access-control-allow-credentials\":[\"false\"],\n \"server-timing\":[\"hcid;desc=\\\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\\\",\n cfr;desc=\\\"9f80deb8e7c6dc3a-IAD\\\"\"],\n \"x-content-type-options\":[\"nosniff\"],\n \"x-hubspot-correlation-id\":[\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\"],\n \"Set-Cookie\":[\"__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-1.0.1.1-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,\n 07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None\"],\n \"Report-To\":[\"{\n\\\"endpoints\\\":[{\n\\\"url\\\":\\\"https:\\\\/\\\\/a.nel.cloudflare.com\\\\/report\\\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\\\"}],\n\\\"group\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"NEL\":[\"{\n\\\"success_fraction\\\":0.01,\n\\\"report_to\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"Server\":[\"cloudflare\"]}} {\n\"correlation_id\":\"95236535-ec98-4541-b92a-adfa73b69eab\",\n\"trace_id\":\"c7ab8365-903f-46d4-9403-0e5b551e3545\"}","role_description":"text entry area","is_enabled":true,"is_focused":false,"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}]...
|
1363329071395396235
|
6666470271896242332
|
idle
|
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
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Show Replace Field
Search History
maxExceptions
New Line
Match Case
Words
Regex
Replace History
Replace
New Line
Preserve case
1/1
Previous Occurrence
Next Occurrence
Filter Search Results
Open in Window, Multiple Cursors
Click to highlight
Close
Code changed:
Hide
Sync Changes
Hide This Notification
1
8
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Jobs\Crm;
use Exception;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Database\Connection;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use Illuminate\Support\Facades\Log;
use Jiminny\Component\Queue\Constants;
use Jiminny\Exceptions\InvalidArgumentException;
use Jiminny\Exceptions\RateLimitException;
use Jiminny\Jobs\Job;
use Jiminny\Jobs\Middleware\HandleHubspotRateLimit;
use Jiminny\Models\Activity;
use Jiminny\Models\Crm\Configuration;
use Jiminny\Repositories\ActivityRepository;
use Jiminny\Services\Crm\CrmActivityService;
use Psr\Container\ContainerExceptionInterface;
use Psr\Container\NotFoundExceptionInterface;
use Throwable;
class MatchActivityCrmData extends Job implements ShouldQueue, ShouldBeUnique
{
use InteractsWithQueue;
use SerializesModels;
public int $maxExceptions = 3;
private const int RETRY_WINDOW_MINUTES = 30;
private int $activityId;
private ?Configuration $fromConfiguration;
private bool $remoteSearch;
public function middleware(): array
{
return [new HandleHubspotRateLimit()];
}
public function retryUntil(): \DateTimeInterface
{
return now()->addMinutes(self::RETRY_WINDOW_MINUTES);
}
public function __construct(
int $activityId,
?Configuration $fromConfiguration = null,
bool $remoteSearch = false,
) {
$this->activityId = $activityId;
$this->fromConfiguration = $fromConfiguration;
$this->remoteSearch = $remoteSearch;
$this->onQueue(Constants::QUEUE_ANALYTICS_LOW);
}
public function uniqueId(): string
{
$configId = $this->fromConfiguration?->getId() ?? 0;
$remote = $this->remoteSearch ? 'remote' : 'local';
return "$this->activityId:$configId:$remote";
}
public function timeout(): int
{
return 300; // 5 minutes max execution time
}
public function uniqueFor(): int
{
return self::RETRY_WINDOW_MINUTES * 60 + 60;
}
public function backoff(): array
{
return [30, 90, 180];
}
/**
* @throws ContainerExceptionInterface
* @throws NotFoundExceptionInterface
* @throws Exception|Throwable
*/
public function handle(
ActivityRepository $activityRepository,
CrmActivityService $crmActivityService,
Connection $connection,
): void {
$activity = $activityRepository->findById($this->activityId);
if ($activity === null) {
throw new InvalidArgumentException('[MatchActivityCrmData] Cannot find activity.');
}
try {
$connection->transaction(function () use ($activity, $crmActivityService, $activityRepository) {
Log::info('[MatchActivityCrmData] Starting CRM data matching', [
'activity' => $this->activityId,
'remote_search' => $this->remoteSearch,
'set_configuration' => $this->fromConfiguration?->getId(),
'old_state' => [
'lead_id' => $activity->getLead()?->getId(),
'contact_id' => $activity->getContact()?->getId(),
'account_id' => $activity->getAccount()?->getId(),
'opportunity_id' => $activity->getOpportunity()?->getId(),
'stage_id' => $activity->getStage()?->getId(),
],
]);
$this->resetCrmMappings($activity, $activityRepository);
$this->switchCrmConfigurationIfNeeded($activity);
$activity->refresh();
$crmActivityService->updateCrmData(
activity: $activity,
remoteSearch: $this->remoteSearch,
);
$hasMatch = $activity->getLead() !== null
|| $activity->getContact() !== null
|| $activity->getAccount() !== null
|| $activity->getOpportunity() !== null;
if ($hasMatch) {
Log::info('[MatchActivityCrmData] Successfully matched CRM data', [
'activity' => $this->activityId,
'remote_search' => $this->remoteSearch,
'lead_id' => $activity->getLead()?->getId(),
'contact_id' => $activity->getContact()?->getId(),
'account_id' => $activity->getAccount()?->getId(),
'opportunity_id' => $activity->getOpportunity()?->getId(),
'stage_id' => $activity->getStage()?->getId(),
]);
} else {
Log::info('[MatchActivityCrmData] No CRM match found', [
'activity' => $this->activityId,
'remote_search' => $this->remoteSearch,
]);
}
});
} catch (Throwable $e) {
if (! $e instanceof RateLimitException) {
Log::error('[MatchActivityCrmData] Failed to match CRM data', [
'activity' => $this->activityId,
'remote_search' => $this->remoteSearch,
'exception' => $e->getMessage(),
'trace' => $e->getTraceAsString(),
]);
}
throw $e;
}
}
public function failed(Throwable $exception): void
{
Log::error('[MatchActivityCrmData] Job permanently failed after all retries', [
'activity' => $this->activityId,
'remote_search' => $this->remoteSearch,
'from_configuration' => $this->fromConfiguration?->getId(),
'exception' => $exception->getMessage(),
'attempts' => $this->attempts(),
]);
}
private function resetCrmMappings(
Activity $activity,
ActivityRepository $activityRepository
): void {
$activity->update([
'lead_id' => null,
'contact_id' => null,
'account_id' => null,
'opportunity_id' => null,
'stage_id' => null,
]);
$participantsOldState = $activityRepository->getActivityParticipants($activity)
->map(function ($participant) {
return [
'id' => $participant->id,
'user_id' => $participant->user_id,
'contact_id' => $participant->contact_id,
'lead_id' => $participant->lead_id,
];
});
if ($participantsOldState->isNotEmpty()) {
Log::info('[MatchActivityCrmData] Participants old state', [
'activity' => $this->activityId,
'participants' => $participantsOldState->toArray(),
]);
}
$activity->participants()->update([
'user_id' => null,
'contact_id' => null,
'lead_id' => null,
]);
}
private function switchCrmConfigurationIfNeeded(Activity $activity): void
{
if ($this->fromConfiguration === null) {
return;
}
if ($activity->getCrm()?->getId() === $this->fromConfiguration->getId()) {
return;
}
Log::info('[MatchActivityCrmData] Switching CRM configuration', [
'activity' => $this->activityId,
'old_configuration' => $activity->getCrm()?->getId(),
'new_configuration' => $this->fromConfiguration->getId(),
]);
$activity->update([
'crm_configuration_id' => $this->fromConfiguration->getId(),
'crm_provider_id' => null,
]);
}
}
Sync Changes
Hide This Notification
Code changed:
Hide
19
Previous Highlighted Error
Next Highlighted Error
[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {
"headers":{
"Date":["Thu,07 May 2026 14:21:15 GMT"],
"Content-Type":["application/json;charset=utf-8"],
"Transfer-Encoding":["chunked"],
"Connection":["keep-alive"],
"CF-Ray":["9f80deb8db60dc3a-SOF"],
"CF-Cache-Status":["DYNAMIC"],
"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],
"Vary":["origin,
accept-encoding"],
"access-control-allow-credentials":["false"],
"server-timing":["hcid;desc=\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\",
cfr;desc=\"9f80deb8e7c6dc3a-IAD\""],
"x-content-type-options":["nosniff"],
"x-hubspot-correlation-id":["019e02d0-6fd8-7812-bdba-885b7ccb3ee3"],
"Set-Cookie":["__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-[IP_ADDRESS]-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,
07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None"],
"Report-To":["{
\"endpoints\":[{
\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\"}],
\"group\":\"cf-nel\",
\"max_age\":604800}"],
"NEL":["{
\"success_fraction\":0.01,
\"report_to\":\"cf-nel\",
\"max_age\":604800}"],
"Server":["cloudflare"]}} {
"correlation_id":"95236535-ec98-4541-b92a-adfa73b69eab",
"trace_id":"c7ab8365-903f-46d4-9403-0e5b551e3545"}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
17000
|
NULL
|
NULL
|
NULL
|
|
16979
|
NULL
|
0
|
2026-05-11T09:50:32.709920+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778493032709_m2.jpg...
|
PhpStorm
|
faVsco.js – JiminnyDebugCommand.php
|
1
|
NULL
|
monitor_2
|
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
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
5
120
5
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 InvalidArgumentException;
use Jiminny\Jobs\AutomatedReports\RequestGenerateAskJiminnyReportJob;
use Jiminny\Jobs\AutomatedReports\SendReportMailJob;
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 {
$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');
}
}
}
Sync Changes
Hide This Notification
Code changed:
Hide
19
Previous Highlighted Error
Next Highlighted Error
[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {
"headers":{
"Date":["Thu,07 May 2026 14:21:15 GMT"],
"Content-Type":["application/json;charset=utf-8"],
"Transfer-Encoding":["chunked"],
"Connection":["keep-alive"],
"CF-Ray":["9f80deb8db60dc3a-SOF"],
"CF-Cache-Status":["DYNAMIC"],
"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],
"Vary":["origin,
accept-encoding"],
"access-control-allow-credentials":["false"],
"server-timing":["hcid;desc=\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\",
cfr;desc=\"9f80deb8e7c6dc3a-IAD\""],
"x-content-type-options":["nosniff"],
"x-hubspot-correlation-id":["019e02d0-6fd8-7812-bdba-885b7ccb3ee3"],
"Set-Cookie":["__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-[IP_ADDRESS]-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,
07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None"],
"Report-To":["{
\"endpoints\":[{
\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\"}],
\"group\":\"cf-nel\",
\"max_age\":604800}"],
"NEL":["{
\"success_fraction\":0.01,
\"report_to\":\"cf-nel\",
\"max_age\":604800}"],
"Server":["cloudflare"]}} {
"correlation_id":"95236535-ec98-4541-b92a-adfa73b69eab",
"trace_id":"c7ab8365-903f-46d4-9403-0e5b551e3545"}
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":"JY-20725-handle-HS-search-rate-limit, menu","depth":5,"bounds":{"left":0.064494684,"top":0.019952115,"width":0.09541223,"height":0.025538707},"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,"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":"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":"5","depth":4,"bounds":{"left":0.36303192,"top":0.2490024,"width":0.007978723,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"120","depth":4,"bounds":{"left":0.37300533,"top":0.2490024,"width":0.011968086,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","depth":4,"bounds":{"left":0.38696808,"top":0.2490024,"width":0.007978723,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.39660904,"top":0.24740623,"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.4039229,"top":0.24740623,"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":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Console\\Commands;\n\nuse Carbon\\Carbon;\nuse Carbon\\CarbonImmutable;\nuse Illuminate\\Console\\Command;\nuse InvalidArgumentException;\nuse Jiminny\\Jobs\\AutomatedReports\\RequestGenerateAskJiminnyReportJob;\nuse Jiminny\\Jobs\\AutomatedReports\\SendReportMailJob;\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 $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}","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 InvalidArgumentException;\nuse Jiminny\\Jobs\\AutomatedReports\\RequestGenerateAskJiminnyReportJob;\nuse Jiminny\\Jobs\\AutomatedReports\\SendReportMailJob;\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 $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}","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":"19","depth":4,"bounds":{"left":0.6296542,"top":0.10055866,"width":0.009640957,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.6409575,"top":0.09896249,"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.64827126,"top":0.09896249,"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":"[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {\n\"headers\":{\n\"Date\":[\"Thu,07 May 2026 14:21:15 GMT\"],\n \"Content-Type\":[\"application/json;charset=utf-8\"],\n \"Transfer-Encoding\":[\"chunked\"],\n \"Connection\":[\"keep-alive\"],\n \"CF-Ray\":[\"9f80deb8db60dc3a-SOF\"],\n \"CF-Cache-Status\":[\"DYNAMIC\"],\n \"Strict-Transport-Security\":[\"max-age=31536000; includeSubDomains; preload\"],\n \"Vary\":[\"origin,\n accept-encoding\"],\n \"access-control-allow-credentials\":[\"false\"],\n \"server-timing\":[\"hcid;desc=\\\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\\\",\n cfr;desc=\\\"9f80deb8e7c6dc3a-IAD\\\"\"],\n \"x-content-type-options\":[\"nosniff\"],\n \"x-hubspot-correlation-id\":[\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\"],\n \"Set-Cookie\":[\"__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-1.0.1.1-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,\n 07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None\"],\n \"Report-To\":[\"{\n\\\"endpoints\\\":[{\n\\\"url\\\":\\\"https:\\\\/\\\\/a.nel.cloudflare.com\\\\/report\\\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\\\"}],\n\\\"group\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"NEL\":[\"{\n\\\"success_fraction\\\":0.01,\n\\\"report_to\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"Server\":[\"cloudflare\"]}} {\n\"correlation_id\":\"95236535-ec98-4541-b92a-adfa73b69eab\",\n\"trace_id\":\"c7ab8365-903f-46d4-9403-0e5b551e3545\"}","depth":4,"bounds":{"left":0.43018618,"top":0.09736632,"width":0.56981385,"height":0.8818835},"on_screen":true,"lines":[{"char_start":207,"char_count":30,"bounds":{"left":0.43018618,"top":0.0,"width":0.07513298,"height":0.014365523}},{"char_start":237,"char_count":36,"bounds":{"left":0.43018618,"top":0.0,"width":0.09075798,"height":0.014365523}},{"char_start":273,"char_count":32,"bounds":{"left":0.43018618,"top":0.0,"width":0.080119684,"height":0.014365523}},{"char_start":305,"char_count":79,"bounds":{"left":0.43018618,"top":0.0,"width":0.20212767,"height":0.014365523}},{"char_start":384,"char_count":18,"bounds":{"left":0.43018618,"top":0.0,"width":0.043882977,"height":0.014365523}},{"char_start":402,"char_count":21,"bounds":{"left":0.43018618,"top":0.0,"width":0.051861703,"height":0.014365523}},{"char_start":423,"char_count":48,"bounds":{"left":0.43018618,"top":0.008778931,"width":0.12167553,"height":0.014365523}},{"char_start":471,"char_count":72,"bounds":{"left":0.43018618,"top":0.026336791,"width":0.18384309,"height":0.014365523}},{"char_start":543,"char_count":40,"bounds":{"left":0.43018618,"top":0.043894652,"width":0.10106383,"height":0.014365523}},{"char_start":583,"char_count":41,"bounds":{"left":0.43018618,"top":0.061452515,"width":0.10372341,"height":0.014365523}},{"char_start":624,"char_count":72,"bounds":{"left":0.43018618,"top":0.079010375,"width":0.18384309,"height":0.014365523}},{"char_start":696,"char_count":219,"bounds":{"left":0.43018618,"top":0.096568234,"width":0.56515956,"height":0.014365523}},{"char_start":915,"char_count":83,"bounds":{"left":0.43018618,"top":0.11412609,"width":0.21243352,"height":0.014365523}},{"char_start":998,"char_count":20,"bounds":{"left":0.43018618,"top":0.13168396,"width":0.04920213,"height":0.014365523}},{"char_start":1018,"char_count":17,"bounds":{"left":0.43018618,"top":0.14924182,"width":0.041223403,"height":0.014365523}},{"char_start":1035,"char_count":203,"bounds":{"left":0.43018618,"top":0.16679968,"width":0.52360374,"height":0.014365523}},{"char_start":1238,"char_count":22,"bounds":{"left":0.43018618,"top":0.18435754,"width":0.05418883,"height":0.014365523}},{"char_start":1260,"char_count":23,"bounds":{"left":0.43018618,"top":0.2019154,"width":0.056848403,"height":0.014365523}},{"char_start":1283,"char_count":10,"bounds":{"left":0.43018618,"top":0.21947326,"width":0.023271276,"height":0.014365523}},{"char_start":1293,"char_count":27,"bounds":{"left":0.43018618,"top":0.23703113,"width":0.06715426,"height":0.014365523}},{"char_start":1320,"char_count":26,"bounds":{"left":0.43018618,"top":0.254589,"width":0.06482713,"height":0.014365523}},{"char_start":1346,"char_count":23,"bounds":{"left":0.43018618,"top":0.27214685,"width":0.056848403,"height":0.014365523}},{"char_start":1369,"char_count":28,"bounds":{"left":0.43018618,"top":0.2897047,"width":0.06981383,"height":0.014365523}},{"char_start":1397,"char_count":57,"bounds":{"left":0.43018618,"top":0.30726257,"width":0.14494681,"height":0.014365523}}],"value":"[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {\n\"headers\":{\n\"Date\":[\"Thu,07 May 2026 14:21:15 GMT\"],\n \"Content-Type\":[\"application/json;charset=utf-8\"],\n \"Transfer-Encoding\":[\"chunked\"],\n \"Connection\":[\"keep-alive\"],\n \"CF-Ray\":[\"9f80deb8db60dc3a-SOF\"],\n \"CF-Cache-Status\":[\"DYNAMIC\"],\n \"Strict-Transport-Security\":[\"max-age=31536000; includeSubDomains; preload\"],\n \"Vary\":[\"origin,\n accept-encoding\"],\n \"access-control-allow-credentials\":[\"false\"],\n \"server-timing\":[\"hcid;desc=\\\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\\\",\n cfr;desc=\\\"9f80deb8e7c6dc3a-IAD\\\"\"],\n \"x-content-type-options\":[\"nosniff\"],\n \"x-hubspot-correlation-id\":[\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\"],\n \"Set-Cookie\":[\"__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-1.0.1.1-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,\n 07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None\"],\n \"Report-To\":[\"{\n\\\"endpoints\\\":[{\n\\\"url\\\":\\\"https:\\\\/\\\\/a.nel.cloudflare.com\\\\/report\\\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\\\"}],\n\\\"group\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"NEL\":[\"{\n\\\"success_fraction\\\":0.01,\n\\\"report_to\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"Server\":[\"cloudflare\"]}} {\n\"correlation_id\":\"95236535-ec98-4541-b92a-adfa73b69eab\",\n\"trace_id\":\"c7ab8365-903f-46d4-9403-0e5b551e3545\"}","role_description":"text entry area","is_enabled":true,"is_focused":false,"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}]...
|
-8821997182786240274
|
3612303290589080971
|
click
|
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
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
5
120
5
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 InvalidArgumentException;
use Jiminny\Jobs\AutomatedReports\RequestGenerateAskJiminnyReportJob;
use Jiminny\Jobs\AutomatedReports\SendReportMailJob;
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 {
$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');
}
}
}
Sync Changes
Hide This Notification
Code changed:
Hide
19
Previous Highlighted Error
Next Highlighted Error
[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {
"headers":{
"Date":["Thu,07 May 2026 14:21:15 GMT"],
"Content-Type":["application/json;charset=utf-8"],
"Transfer-Encoding":["chunked"],
"Connection":["keep-alive"],
"CF-Ray":["9f80deb8db60dc3a-SOF"],
"CF-Cache-Status":["DYNAMIC"],
"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],
"Vary":["origin,
accept-encoding"],
"access-control-allow-credentials":["false"],
"server-timing":["hcid;desc=\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\",
cfr;desc=\"9f80deb8e7c6dc3a-IAD\""],
"x-content-type-options":["nosniff"],
"x-hubspot-correlation-id":["019e02d0-6fd8-7812-bdba-885b7ccb3ee3"],
"Set-Cookie":["__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-[IP_ADDRESS]-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,
07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None"],
"Report-To":["{
\"endpoints\":[{
\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\"}],
\"group\":\"cf-nel\",
\"max_age\":604800}"],
"NEL":["{
\"success_fraction\":0.01,
\"report_to\":\"cf-nel\",
\"max_age\":604800}"],
"Server":["cloudflare"]}} {
"correlation_id":"95236535-ec98-4541-b92a-adfa73b69eab",
"trace_id":"c7ab8365-903f-46d4-9403-0e5b551e3545"}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
16978
|
NULL
|
0
|
2026-05-11T09:50:04.539866+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778493004539_m1.jpg...
|
PhpStorm
|
faVsco.js – JiminnyDebugCommand.php
|
1
|
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
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
5
120
5
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 InvalidArgumentException;
use Jiminny\Jobs\AutomatedReports\RequestGenerateAskJiminnyReportJob;
use Jiminny\Jobs\AutomatedReports\SendReportMailJob;
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 {
$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');
}
}
}
Sync Changes
Hide This Notification
Code changed:
Hide
19
Previous Highlighted Error
Next Highlighted Error
[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {
"headers":{
"Date":["Thu,07 May 2026 14:21:15 GMT"],
"Content-Type":["application/json;charset=utf-8"],
"Transfer-Encoding":["chunked"],
"Connection":["keep-alive"],
"CF-Ray":["9f80deb8db60dc3a-SOF"],
"CF-Cache-Status":["DYNAMIC"],
"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],
"Vary":["origin,
accept-encoding"],
"access-control-allow-credentials":["false"],
"server-timing":["hcid;desc=\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\",
cfr;desc=\"9f80deb8e7c6dc3a-IAD\""],
"x-content-type-options":["nosniff"],
"x-hubspot-correlation-id":["019e02d0-6fd8-7812-bdba-885b7ccb3ee3"],
"Set-Cookie":["__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-[IP_ADDRESS]-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,
07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None"],
"Report-To":["{
\"endpoints\":[{
\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\"}],
\"group\":\"cf-nel\",
\"max_age\":604800}"],
"NEL":["{
\"success_fraction\":0.01,
\"report_to\":\"cf-nel\",
\"max_age\":604800}"],
"Server":["cloudflare"]}} {
"correlation_id":"95236535-ec98-4541-b92a-adfa73b69eab",
"trace_id":"c7ab8365-903f-46d4-9403-0e5b551e3545"}
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":"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":"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":"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":"120","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"5","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 InvalidArgumentException;\nuse Jiminny\\Jobs\\AutomatedReports\\RequestGenerateAskJiminnyReportJob;\nuse Jiminny\\Jobs\\AutomatedReports\\SendReportMailJob;\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 $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}","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 InvalidArgumentException;\nuse Jiminny\\Jobs\\AutomatedReports\\RequestGenerateAskJiminnyReportJob;\nuse Jiminny\\Jobs\\AutomatedReports\\SendReportMailJob;\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 $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}","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":"19","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-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {\n\"headers\":{\n\"Date\":[\"Thu,07 May 2026 14:21:15 GMT\"],\n \"Content-Type\":[\"application/json;charset=utf-8\"],\n \"Transfer-Encoding\":[\"chunked\"],\n \"Connection\":[\"keep-alive\"],\n \"CF-Ray\":[\"9f80deb8db60dc3a-SOF\"],\n \"CF-Cache-Status\":[\"DYNAMIC\"],\n \"Strict-Transport-Security\":[\"max-age=31536000; includeSubDomains; preload\"],\n \"Vary\":[\"origin,\n accept-encoding\"],\n \"access-control-allow-credentials\":[\"false\"],\n \"server-timing\":[\"hcid;desc=\\\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\\\",\n cfr;desc=\\\"9f80deb8e7c6dc3a-IAD\\\"\"],\n \"x-content-type-options\":[\"nosniff\"],\n \"x-hubspot-correlation-id\":[\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\"],\n \"Set-Cookie\":[\"__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-1.0.1.1-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,\n 07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None\"],\n \"Report-To\":[\"{\n\\\"endpoints\\\":[{\n\\\"url\\\":\\\"https:\\\\/\\\\/a.nel.cloudflare.com\\\\/report\\\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\\\"}],\n\\\"group\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"NEL\":[\"{\n\\\"success_fraction\\\":0.01,\n\\\"report_to\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"Server\":[\"cloudflare\"]}} {\n\"correlation_id\":\"95236535-ec98-4541-b92a-adfa73b69eab\",\n\"trace_id\":\"c7ab8365-903f-46d4-9403-0e5b551e3545\"}","depth":4,"on_screen":true,"value":"[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {\n\"headers\":{\n\"Date\":[\"Thu,07 May 2026 14:21:15 GMT\"],\n \"Content-Type\":[\"application/json;charset=utf-8\"],\n \"Transfer-Encoding\":[\"chunked\"],\n \"Connection\":[\"keep-alive\"],\n \"CF-Ray\":[\"9f80deb8db60dc3a-SOF\"],\n \"CF-Cache-Status\":[\"DYNAMIC\"],\n \"Strict-Transport-Security\":[\"max-age=31536000; includeSubDomains; preload\"],\n \"Vary\":[\"origin,\n accept-encoding\"],\n \"access-control-allow-credentials\":[\"false\"],\n \"server-timing\":[\"hcid;desc=\\\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\\\",\n cfr;desc=\\\"9f80deb8e7c6dc3a-IAD\\\"\"],\n \"x-content-type-options\":[\"nosniff\"],\n \"x-hubspot-correlation-id\":[\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\"],\n \"Set-Cookie\":[\"__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-1.0.1.1-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,\n 07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None\"],\n \"Report-To\":[\"{\n\\\"endpoints\\\":[{\n\\\"url\\\":\\\"https:\\\\/\\\\/a.nel.cloudflare.com\\\\/report\\\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\\\"}],\n\\\"group\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"NEL\":[\"{\n\\\"success_fraction\\\":0.01,\n\\\"report_to\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"Server\":[\"cloudflare\"]}} {\n\"correlation_id\":\"95236535-ec98-4541-b92a-adfa73b69eab\",\n\"trace_id\":\"c7ab8365-903f-46d4-9403-0e5b551e3545\"}","role_description":"text entry area","is_enabled":true,"is_focused":false,"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}]...
|
-8821997182786240274
|
3612303290589080971
|
click
|
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
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
5
120
5
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 InvalidArgumentException;
use Jiminny\Jobs\AutomatedReports\RequestGenerateAskJiminnyReportJob;
use Jiminny\Jobs\AutomatedReports\SendReportMailJob;
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 {
$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');
}
}
}
Sync Changes
Hide This Notification
Code changed:
Hide
19
Previous Highlighted Error
Next Highlighted Error
[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {
"headers":{
"Date":["Thu,07 May 2026 14:21:15 GMT"],
"Content-Type":["application/json;charset=utf-8"],
"Transfer-Encoding":["chunked"],
"Connection":["keep-alive"],
"CF-Ray":["9f80deb8db60dc3a-SOF"],
"CF-Cache-Status":["DYNAMIC"],
"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],
"Vary":["origin,
accept-encoding"],
"access-control-allow-credentials":["false"],
"server-timing":["hcid;desc=\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\",
cfr;desc=\"9f80deb8e7c6dc3a-IAD\""],
"x-content-type-options":["nosniff"],
"x-hubspot-correlation-id":["019e02d0-6fd8-7812-bdba-885b7ccb3ee3"],
"Set-Cookie":["__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-[IP_ADDRESS]-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,
07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None"],
"Report-To":["{
\"endpoints\":[{
\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\"}],
\"group\":\"cf-nel\",
\"max_age\":604800}"],
"NEL":["{
\"success_fraction\":0.01,
\"report_to\":\"cf-nel\",
\"max_age\":604800}"],
"Server":["cloudflare"]}} {
"correlation_id":"95236535-ec98-4541-b92a-adfa73b69eab",
"trace_id":"c7ab8365-903f-46d4-9403-0e5b551e3545"}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
16975
|
NULL
|
NULL
|
NULL
|
|
16951
|
NULL
|
0
|
2026-05-11T09:45:49.649126+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778492749649_m1.jpg...
|
iTerm2
|
DEV (docker)
|
1
|
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# php artisan jiminny:debug
Matching contact 0
TypeError
Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService::getPaginatedDataGenerator(): Return value must be of type Generator, none returned
at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:83
79▕
80▕ // Update reference parameters
81▕ $total = $state->total;
82▕ $lastRecordId = $state->lastRecordId;
➜ 83▕ }
84▕
85▕ private function shouldStopPagination(PaginationState $state, int $teamId): bool
86▕ {
87▕ if ($state->hasReachedSafetyLimit()) {
1 app/Services/Crm/Hubspot/Client.php:195
Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService::getPaginatedDataGenerator(Object(Jiminny\Services\Crm\Hubspot\Client), [], "contact")
2 app/Services/Crm/Hubspot/Client.php:176
Jiminny\Services\Crm\Hubspot\Client::getPaginatedDataGenerator([], "contact")
root@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 14.73ms DONE
cache [PASSWORD_DOTS] 19.13ms DONE
compiled [PASSWORD_DOTS] 4.93ms DONE
events [PASSWORD_DOTS] 3.02ms DONE
routes [PASSWORD_DOTS] 5.55ms DONE
views [PASSWORD_DOTS] 6.02ms 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
worker-conferences:worker-conferences_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-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
Jiminny\Exceptions\RateLimitException
Hubspot returned 429
at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:206
202▕ 'retry_after' => $retryAfter,
203▕ 'reason' => $e->getMessage(),
204▕ ]);
205▕
➜ 206▕ throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);
207▕ } else {
208▕ throw $e;
209▕ }
210▕ }
+14 vendor frames
15 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:166
SevenShores\Hubspot\Http\Client::request("POST", "[URL_WITH_CREDENTIALS] php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 4.47ms DONE
cache [PASSWORD_DOTS] 16.66ms DONE
compiled [PASSWORD_DOTS] 3.26ms DONE
events [PASSWORD_DOTS] 3.99ms DONE
routes [PASSWORD_DOTS] 3.85ms DONE
views [PASSWORD_DOTS] 4.93ms 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
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
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] 14.42ms DONE
cache [PASSWORD_DOTS] 23.70ms DONE
compiled [PASSWORD_DOTS] 3.46ms DONE
events [PASSWORD_DOTS] 4.30ms DONE
routes [PASSWORD_DOTS] 8.35ms DONE
views [PASSWORD_DOTS] 8.00ms DONE
jiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped
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
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-conferences:worker-conferences_00: stopped
worker-crm-sync:worker-crm-sync_00: stopped
worker-emails:worker-emails_00: stopped
worker-calendar:worker-calendar_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 jiminny:debug
Matching contact 0
Jiminny\Exceptions\RateLimitException
Hubspot returned 429
at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:206
202▕ 'retry_after' => $retryAfter,
203▕ 'reason' => $e->getMessage(),
204▕ ]);
205▕
➜ 206▕ throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);
207▕ } else {
208▕ throw $e;
209▕ }
210▕ }
+14 vendor frames
15 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:166
SevenShores\Hubspot\Http\Client::request("POST", "[URL_WITH_CREDENTIALS] php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 6.77ms DONE
cache [PASSWORD_DOTS] 25.55ms DONE
compiled [PASSWORD_DOTS] 3.87ms DONE
events [PASSWORD_DOTS] 4.96ms DONE
routes [PASSWORD_DOTS] 2.23ms DONE
views [PASSWORD_DOTS] 7.50ms 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-conferences:worker-conferences_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-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
root@docker_lamp_1:/home/jiminny#
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug 007d5da3af66
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch JY-20725-handle-HS-search-rate-limit
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: app/Jobs/Middleware/HandleHubspotRateLimit.php
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Exceptions/RateLimitException.php
modified: app/Jobs/Activity/Import/MatchCrmData.php
modified: app/Jobs/Crm/MatchActivityCrmData.php
modified: app/Services/Crm/Hubspot/Client.php
modified: app/Services/Crm/Hubspot/HubspotClientInterface.php
modified: app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php
modified: app/Services/Crm/Hubspot/Pagination/PaginationState.php
modified: app/Services/Crm/Hubspot/Service.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.local.bak
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Policies/CanAccessAiReportsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ gbr
* JY-20725-handle-HS-search-rate-limit
master
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
JY-20160
JY-20145-filter-out-converted-leads-when-matching
JY-20150-skip-push-summary-on-summary-ready-if-autolog
JY-20132-fix-note-encoding
JY-19792-clean-logs
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ dev
root@docker_lamp_1:/home/jiminny#
DOCKER
Close Tab
DEV (docker)
Close Tab...
|
[{"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# php artisan jiminny:debug\nMatching contact 0\n\n TypeError \n\n Jiminny\\Services\\Crm\\Hubspot\\Pagination\\HubspotPaginationService::getPaginatedDataGenerator(): Return value must be of type Generator, none returned\n\n at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:83\n 79▕ \n 80▕ // Update reference parameters\n 81▕ $total = $state->total;\n 82▕ $lastRecordId = $state->lastRecordId;\n ➜ 83▕ }\n 84▕ \n 85▕ private function shouldStopPagination(PaginationState $state, int $teamId): bool\n 86▕ {\n 87▕ if ($state->hasReachedSafetyLimit()) {\n\n 1 app/Services/Crm/Hubspot/Client.php:195\n Jiminny\\Services\\Crm\\Hubspot\\Pagination\\HubspotPaginationService::getPaginatedDataGenerator(Object(Jiminny\\Services\\Crm\\Hubspot\\Client), [], \"contact\")\n\n 2 app/Services/Crm/Hubspot/Client.php:176\n Jiminny\\Services\\Crm\\Hubspot\\Client::getPaginatedDataGenerator([], \"contact\")\n\nroot@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all\n\n INFO Clearing cached bootstrap files. \n\n config .............................................................................................................................. 14.73ms DONE\n cache ............................................................................................................................... 19.13ms DONE\n compiled ............................................................................................................................. 4.93ms DONE\n events ............................................................................................................................... 3.02ms DONE\n routes ............................................................................................................................... 5.55ms DONE\n views ................................................................................................................................ 6.02ms 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\nworker-conferences:worker-conferences_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-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\n\n Jiminny\\Exceptions\\RateLimitException \n\n Hubspot returned 429\n\n at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:206\n 202▕ 'retry_after' => $retryAfter,\n 203▕ 'reason' => $e->getMessage(),\n 204▕ ]);\n 205▕ \n ➜ 206▕ throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);\n 207▕ } else {\n 208▕ throw $e;\n 209▕ }\n 210▕ }\n\n +14 vendor frames \n\n 15 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:166\n SevenShores\\Hubspot\\Http\\Client::request(\"POST\", \"https://api.hubapi.com/crm/v3/objects/contact/search\", [])\n\n 16 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:52\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 ............................................................................................................................... 4.47ms DONE\n cache ............................................................................................................................... 16.66ms DONE\n compiled ............................................................................................................................. 3.26ms DONE\n events ............................................................................................................................... 3.99ms DONE\n routes ............................................................................................................................... 3.85ms DONE\n views ................................................................................................................................ 4.93ms 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\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\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 .............................................................................................................................. 14.42ms DONE\n cache ............................................................................................................................... 23.70ms DONE\n compiled ............................................................................................................................. 3.46ms DONE\n events ............................................................................................................................... 4.30ms DONE\n routes ............................................................................................................................... 8.35ms DONE\n views ................................................................................................................................ 8.00ms DONE\n\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\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\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-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_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 jiminny:debug\nMatching contact 0\n\n Jiminny\\Exceptions\\RateLimitException \n\n Hubspot returned 429\n\n at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:206\n 202▕ 'retry_after' => $retryAfter,\n 203▕ 'reason' => $e->getMessage(),\n 204▕ ]);\n 205▕ \n ➜ 206▕ throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);\n 207▕ } else {\n 208▕ throw $e;\n 209▕ }\n 210▕ }\n\n +14 vendor frames \n\n 15 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:166\n SevenShores\\Hubspot\\Http\\Client::request(\"POST\", \"https://api.hubapi.com/crm/v3/objects/contact/search\", [])\n\n 16 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:52\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 ............................................................................................................................... 6.77ms DONE\n cache ............................................................................................................................... 25.55ms DONE\n compiled ............................................................................................................................. 3.87ms DONE\n events ............................................................................................................................... 4.96ms DONE\n routes ............................................................................................................................... 2.23ms DONE\n views ................................................................................................................................ 7.50ms 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-conferences:worker-conferences_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-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\nroot@docker_lamp_1:/home/jiminny# \nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug 007d5da3af66\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ dev\nroot@docker_lamp_1:/home/jiminny# \nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug 007d5da3af66\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch JY-20725-handle-HS-search-rate-limit\nChanges to be committed:\n (use \"git restore --staged <file>...\" to unstage)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tnew file: app/Jobs/Middleware/HandleHubspotRateLimit.php\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Exceptions/RateLimitException.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Activity/Import/MatchCrmData.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Crm/MatchActivityCrmData.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Crm/Hubspot/Client.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Crm/Hubspot/HubspotClientInterface.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Crm/Hubspot/Pagination/PaginationState.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Crm/Hubspot/Service.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local.bak\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ gbr\n* JY-20725-handle-HS-search-rate-limit\n master\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\n JY-20160\n JY-20145-filter-out-converted-leads-when-matching\n JY-20150-skip-push-summary-on-summary-ready-if-autolog\n JY-20132-fix-note-encoding\n JY-19792-clean-logs\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ dev\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# php artisan jiminny:debug\nMatching contact 0\n\n TypeError \n\n Jiminny\\Services\\Crm\\Hubspot\\Pagination\\HubspotPaginationService::getPaginatedDataGenerator(): Return value must be of type Generator, none returned\n\n at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:83\n 79▕ \n 80▕ // Update reference parameters\n 81▕ $total = $state->total;\n 82▕ $lastRecordId = $state->lastRecordId;\n ➜ 83▕ }\n 84▕ \n 85▕ private function shouldStopPagination(PaginationState $state, int $teamId): bool\n 86▕ {\n 87▕ if ($state->hasReachedSafetyLimit()) {\n\n 1 app/Services/Crm/Hubspot/Client.php:195\n Jiminny\\Services\\Crm\\Hubspot\\Pagination\\HubspotPaginationService::getPaginatedDataGenerator(Object(Jiminny\\Services\\Crm\\Hubspot\\Client), [], \"contact\")\n\n 2 app/Services/Crm/Hubspot/Client.php:176\n Jiminny\\Services\\Crm\\Hubspot\\Client::getPaginatedDataGenerator([], \"contact\")\n\nroot@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all\n\n INFO Clearing cached bootstrap files. \n\n config .............................................................................................................................. 14.73ms DONE\n cache ............................................................................................................................... 19.13ms DONE\n compiled ............................................................................................................................. 4.93ms DONE\n events ............................................................................................................................... 3.02ms DONE\n routes ............................................................................................................................... 5.55ms DONE\n views ................................................................................................................................ 6.02ms 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\nworker-conferences:worker-conferences_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-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\n\n Jiminny\\Exceptions\\RateLimitException \n\n Hubspot returned 429\n\n at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:206\n 202▕ 'retry_after' => $retryAfter,\n 203▕ 'reason' => $e->getMessage(),\n 204▕ ]);\n 205▕ \n ➜ 206▕ throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);\n 207▕ } else {\n 208▕ throw $e;\n 209▕ }\n 210▕ }\n\n +14 vendor frames \n\n 15 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:166\n SevenShores\\Hubspot\\Http\\Client::request(\"POST\", \"https://api.hubapi.com/crm/v3/objects/contact/search\", [])\n\n 16 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:52\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 ............................................................................................................................... 4.47ms DONE\n cache ............................................................................................................................... 16.66ms DONE\n compiled ............................................................................................................................. 3.26ms DONE\n events ............................................................................................................................... 3.99ms DONE\n routes ............................................................................................................................... 3.85ms DONE\n views ................................................................................................................................ 4.93ms 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\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\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 .............................................................................................................................. 14.42ms DONE\n cache ............................................................................................................................... 23.70ms DONE\n compiled ............................................................................................................................. 3.46ms DONE\n events ............................................................................................................................... 4.30ms DONE\n routes ............................................................................................................................... 8.35ms DONE\n views ................................................................................................................................ 8.00ms DONE\n\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\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\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-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_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 jiminny:debug\nMatching contact 0\n\n Jiminny\\Exceptions\\RateLimitException \n\n Hubspot returned 429\n\n at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:206\n 202▕ 'retry_after' => $retryAfter,\n 203▕ 'reason' => $e->getMessage(),\n 204▕ ]);\n 205▕ \n ➜ 206▕ throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);\n 207▕ } else {\n 208▕ throw $e;\n 209▕ }\n 210▕ }\n\n +14 vendor frames \n\n 15 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:166\n SevenShores\\Hubspot\\Http\\Client::request(\"POST\", \"https://api.hubapi.com/crm/v3/objects/contact/search\", [])\n\n 16 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:52\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 ............................................................................................................................... 6.77ms DONE\n cache ............................................................................................................................... 25.55ms DONE\n compiled ............................................................................................................................. 3.87ms DONE\n events ............................................................................................................................... 4.96ms DONE\n routes ............................................................................................................................... 2.23ms DONE\n views ................................................................................................................................ 7.50ms 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-conferences:worker-conferences_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-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\nroot@docker_lamp_1:/home/jiminny# \nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug 007d5da3af66\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ dev\nroot@docker_lamp_1:/home/jiminny# \nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug 007d5da3af66\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch JY-20725-handle-HS-search-rate-limit\nChanges to be committed:\n (use \"git restore --staged <file>...\" to unstage)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tnew file: app/Jobs/Middleware/HandleHubspotRateLimit.php\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Exceptions/RateLimitException.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Activity/Import/MatchCrmData.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Crm/MatchActivityCrmData.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Crm/Hubspot/Client.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Crm/Hubspot/HubspotClientInterface.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Crm/Hubspot/Pagination/PaginationState.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Crm/Hubspot/Service.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local.bak\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ gbr\n* JY-20725-handle-HS-search-rate-limit\n master\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\n JY-20160\n JY-20145-filter-out-converted-leads-when-matching\n JY-20150-skip-push-summary-on-summary-ready-if-autolog\n JY-20132-fix-note-encoding\n JY-19792-clean-logs\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ dev\nroot@docker_lamp_1:/home/jiminny#","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.0,"top":0.05888889,"width":0.16388889,"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.16388889,"top":0.05888889,"width":0.16388889,"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.16805555,"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}]...
|
885612932235720310
|
4433905506623212292
|
idle
|
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# php artisan jiminny:debug
Matching contact 0
TypeError
Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService::getPaginatedDataGenerator(): Return value must be of type Generator, none returned
at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:83
79▕
80▕ // Update reference parameters
81▕ $total = $state->total;
82▕ $lastRecordId = $state->lastRecordId;
➜ 83▕ }
84▕
85▕ private function shouldStopPagination(PaginationState $state, int $teamId): bool
86▕ {
87▕ if ($state->hasReachedSafetyLimit()) {
1 app/Services/Crm/Hubspot/Client.php:195
Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService::getPaginatedDataGenerator(Object(Jiminny\Services\Crm\Hubspot\Client), [], "contact")
2 app/Services/Crm/Hubspot/Client.php:176
Jiminny\Services\Crm\Hubspot\Client::getPaginatedDataGenerator([], "contact")
root@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 14.73ms DONE
cache [PASSWORD_DOTS] 19.13ms DONE
compiled [PASSWORD_DOTS] 4.93ms DONE
events [PASSWORD_DOTS] 3.02ms DONE
routes [PASSWORD_DOTS] 5.55ms DONE
views [PASSWORD_DOTS] 6.02ms 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
worker-conferences:worker-conferences_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-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
Jiminny\Exceptions\RateLimitException
Hubspot returned 429
at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:206
202▕ 'retry_after' => $retryAfter,
203▕ 'reason' => $e->getMessage(),
204▕ ]);
205▕
➜ 206▕ throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);
207▕ } else {
208▕ throw $e;
209▕ }
210▕ }
+14 vendor frames
15 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:166
SevenShores\Hubspot\Http\Client::request("POST", "[URL_WITH_CREDENTIALS] php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 4.47ms DONE
cache [PASSWORD_DOTS] 16.66ms DONE
compiled [PASSWORD_DOTS] 3.26ms DONE
events [PASSWORD_DOTS] 3.99ms DONE
routes [PASSWORD_DOTS] 3.85ms DONE
views [PASSWORD_DOTS] 4.93ms 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
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
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] 14.42ms DONE
cache [PASSWORD_DOTS] 23.70ms DONE
compiled [PASSWORD_DOTS] 3.46ms DONE
events [PASSWORD_DOTS] 4.30ms DONE
routes [PASSWORD_DOTS] 8.35ms DONE
views [PASSWORD_DOTS] 8.00ms DONE
jiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped
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
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-conferences:worker-conferences_00: stopped
worker-crm-sync:worker-crm-sync_00: stopped
worker-emails:worker-emails_00: stopped
worker-calendar:worker-calendar_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 jiminny:debug
Matching contact 0
Jiminny\Exceptions\RateLimitException
Hubspot returned 429
at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:206
202▕ 'retry_after' => $retryAfter,
203▕ 'reason' => $e->getMessage(),
204▕ ]);
205▕
➜ 206▕ throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);
207▕ } else {
208▕ throw $e;
209▕ }
210▕ }
+14 vendor frames
15 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:166
SevenShores\Hubspot\Http\Client::request("POST", "[URL_WITH_CREDENTIALS] php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 6.77ms DONE
cache [PASSWORD_DOTS] 25.55ms DONE
compiled [PASSWORD_DOTS] 3.87ms DONE
events [PASSWORD_DOTS] 4.96ms DONE
routes [PASSWORD_DOTS] 2.23ms DONE
views [PASSWORD_DOTS] 7.50ms 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-conferences:worker-conferences_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-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
root@docker_lamp_1:/home/jiminny#
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug 007d5da3af66
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch JY-20725-handle-HS-search-rate-limit
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: app/Jobs/Middleware/HandleHubspotRateLimit.php
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Exceptions/RateLimitException.php
modified: app/Jobs/Activity/Import/MatchCrmData.php
modified: app/Jobs/Crm/MatchActivityCrmData.php
modified: app/Services/Crm/Hubspot/Client.php
modified: app/Services/Crm/Hubspot/HubspotClientInterface.php
modified: app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php
modified: app/Services/Crm/Hubspot/Pagination/PaginationState.php
modified: app/Services/Crm/Hubspot/Service.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.local.bak
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Policies/CanAccessAiReportsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ gbr
* JY-20725-handle-HS-search-rate-limit
master
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
JY-20160
JY-20145-filter-out-converted-leads-when-matching
JY-20150-skip-push-summary-on-summary-ready-if-autolog
JY-20132-fix-note-encoding
JY-19792-clean-logs
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ dev
root@docker_lamp_1:/home/jiminny#
DOCKER
Close Tab
DEV (docker)
Close Tab...
|
16947
|
NULL
|
NULL
|
NULL
|
|
16950
|
NULL
|
0
|
2026-05-11T09:45:41.885620+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778492741885_m2.jpg...
|
iTerm2
|
DEV (docker)
|
1
|
NULL
|
monitor_2
|
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# php artisan jiminny:debug
Matching contact 0
TypeError
Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService::getPaginatedDataGenerator(): Return value must be of type Generator, none returned
at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:83
79▕
80▕ // Update reference parameters
81▕ $total = $state->total;
82▕ $lastRecordId = $state->lastRecordId;
➜ 83▕ }
84▕
85▕ private function shouldStopPagination(PaginationState $state, int $teamId): bool
86▕ {
87▕ if ($state->hasReachedSafetyLimit()) {
1 app/Services/Crm/Hubspot/Client.php:195
Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService::getPaginatedDataGenerator(Object(Jiminny\Services\Crm\Hubspot\Client), [], "contact")
2 app/Services/Crm/Hubspot/Client.php:176
Jiminny\Services\Crm\Hubspot\Client::getPaginatedDataGenerator([], "contact")
root@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 14.73ms DONE
cache [PASSWORD_DOTS] 19.13ms DONE
compiled [PASSWORD_DOTS] 4.93ms DONE
events [PASSWORD_DOTS] 3.02ms DONE
routes [PASSWORD_DOTS] 5.55ms DONE
views [PASSWORD_DOTS] 6.02ms 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
worker-conferences:worker-conferences_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-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
Jiminny\Exceptions\RateLimitException
Hubspot returned 429
at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:206
202▕ 'retry_after' => $retryAfter,
203▕ 'reason' => $e->getMessage(),
204▕ ]);
205▕
➜ 206▕ throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);
207▕ } else {
208▕ throw $e;
209▕ }
210▕ }
+14 vendor frames
15 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:166
SevenShores\Hubspot\Http\Client::request("POST", "[URL_WITH_CREDENTIALS] php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 4.47ms DONE
cache [PASSWORD_DOTS] 16.66ms DONE
compiled [PASSWORD_DOTS] 3.26ms DONE
events [PASSWORD_DOTS] 3.99ms DONE
routes [PASSWORD_DOTS] 3.85ms DONE
views [PASSWORD_DOTS] 4.93ms 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
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
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] 14.42ms DONE
cache [PASSWORD_DOTS] 23.70ms DONE
compiled [PASSWORD_DOTS] 3.46ms DONE
events [PASSWORD_DOTS] 4.30ms DONE
routes [PASSWORD_DOTS] 8.35ms DONE
views [PASSWORD_DOTS] 8.00ms DONE
jiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped
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
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-conferences:worker-conferences_00: stopped
worker-crm-sync:worker-crm-sync_00: stopped
worker-emails:worker-emails_00: stopped
worker-calendar:worker-calendar_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 jiminny:debug
Matching contact 0
Jiminny\Exceptions\RateLimitException
Hubspot returned 429
at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:206
202▕ 'retry_after' => $retryAfter,
203▕ 'reason' => $e->getMessage(),
204▕ ]);
205▕
➜ 206▕ throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);
207▕ } else {
208▕ throw $e;
209▕ }
210▕ }
+14 vendor frames
15 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:166
SevenShores\Hubspot\Http\Client::request("POST", "[URL_WITH_CREDENTIALS] php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 6.77ms DONE
cache [PASSWORD_DOTS] 25.55ms DONE
compiled [PASSWORD_DOTS] 3.87ms DONE
events [PASSWORD_DOTS] 4.96ms DONE
routes [PASSWORD_DOTS] 2.23ms DONE
views [PASSWORD_DOTS] 7.50ms 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-conferences:worker-conferences_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-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
root@docker_lamp_1:/home/jiminny#
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug 007d5da3af66
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch JY-20725-handle-HS-search-rate-limit
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: app/Jobs/Middleware/HandleHubspotRateLimit.php
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Exceptions/RateLimitException.php
modified: app/Jobs/Activity/Import/MatchCrmData.php
modified: app/Jobs/Crm/MatchActivityCrmData.php
modified: app/Services/Crm/Hubspot/Client.php
modified: app/Services/Crm/Hubspot/HubspotClientInterface.php
modified: app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php
modified: app/Services/Crm/Hubspot/Pagination/PaginationState.php
modified: app/Services/Crm/Hubspot/Service.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.local.bak
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Policies/CanAccessAiReportsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ gbr
* JY-20725-handle-HS-search-rate-limit
master
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
JY-20160
JY-20145-filter-out-converted-leads-when-matching
JY-20150-skip-push-summary-on-summary-ready-if-autolog
JY-20132-fix-note-encoding
JY-19792-clean-logs
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ dev
root@docker_lamp_1:/home/jiminny#
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
⌥⌘1
DEV (docker)...
|
[{"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# php artisan jiminny:debug\nMatching contact 0\n\n TypeError \n\n Jiminny\\Services\\Crm\\Hubspot\\Pagination\\HubspotPaginationService::getPaginatedDataGenerator(): Return value must be of type Generator, none returned\n\n at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:83\n 79▕ \n 80▕ // Update reference parameters\n 81▕ $total = $state->total;\n 82▕ $lastRecordId = $state->lastRecordId;\n ➜ 83▕ }\n 84▕ \n 85▕ private function shouldStopPagination(PaginationState $state, int $teamId): bool\n 86▕ {\n 87▕ if ($state->hasReachedSafetyLimit()) {\n\n 1 app/Services/Crm/Hubspot/Client.php:195\n Jiminny\\Services\\Crm\\Hubspot\\Pagination\\HubspotPaginationService::getPaginatedDataGenerator(Object(Jiminny\\Services\\Crm\\Hubspot\\Client), [], \"contact\")\n\n 2 app/Services/Crm/Hubspot/Client.php:176\n Jiminny\\Services\\Crm\\Hubspot\\Client::getPaginatedDataGenerator([], \"contact\")\n\nroot@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all\n\n INFO Clearing cached bootstrap files. \n\n config .............................................................................................................................. 14.73ms DONE\n cache ............................................................................................................................... 19.13ms DONE\n compiled ............................................................................................................................. 4.93ms DONE\n events ............................................................................................................................... 3.02ms DONE\n routes ............................................................................................................................... 5.55ms DONE\n views ................................................................................................................................ 6.02ms 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\nworker-conferences:worker-conferences_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-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\n\n Jiminny\\Exceptions\\RateLimitException \n\n Hubspot returned 429\n\n at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:206\n 202▕ 'retry_after' => $retryAfter,\n 203▕ 'reason' => $e->getMessage(),\n 204▕ ]);\n 205▕ \n ➜ 206▕ throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);\n 207▕ } else {\n 208▕ throw $e;\n 209▕ }\n 210▕ }\n\n +14 vendor frames \n\n 15 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:166\n SevenShores\\Hubspot\\Http\\Client::request(\"POST\", \"https://api.hubapi.com/crm/v3/objects/contact/search\", [])\n\n 16 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:52\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 ............................................................................................................................... 4.47ms DONE\n cache ............................................................................................................................... 16.66ms DONE\n compiled ............................................................................................................................. 3.26ms DONE\n events ............................................................................................................................... 3.99ms DONE\n routes ............................................................................................................................... 3.85ms DONE\n views ................................................................................................................................ 4.93ms 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\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\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 .............................................................................................................................. 14.42ms DONE\n cache ............................................................................................................................... 23.70ms DONE\n compiled ............................................................................................................................. 3.46ms DONE\n events ............................................................................................................................... 4.30ms DONE\n routes ............................................................................................................................... 8.35ms DONE\n views ................................................................................................................................ 8.00ms DONE\n\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\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\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-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_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 jiminny:debug\nMatching contact 0\n\n Jiminny\\Exceptions\\RateLimitException \n\n Hubspot returned 429\n\n at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:206\n 202▕ 'retry_after' => $retryAfter,\n 203▕ 'reason' => $e->getMessage(),\n 204▕ ]);\n 205▕ \n ➜ 206▕ throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);\n 207▕ } else {\n 208▕ throw $e;\n 209▕ }\n 210▕ }\n\n +14 vendor frames \n\n 15 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:166\n SevenShores\\Hubspot\\Http\\Client::request(\"POST\", \"https://api.hubapi.com/crm/v3/objects/contact/search\", [])\n\n 16 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:52\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 ............................................................................................................................... 6.77ms DONE\n cache ............................................................................................................................... 25.55ms DONE\n compiled ............................................................................................................................. 3.87ms DONE\n events ............................................................................................................................... 4.96ms DONE\n routes ............................................................................................................................... 2.23ms DONE\n views ................................................................................................................................ 7.50ms 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-conferences:worker-conferences_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-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\nroot@docker_lamp_1:/home/jiminny# \nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug 007d5da3af66\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ dev\nroot@docker_lamp_1:/home/jiminny# \nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug 007d5da3af66\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch JY-20725-handle-HS-search-rate-limit\nChanges to be committed:\n (use \"git restore --staged <file>...\" to unstage)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tnew file: app/Jobs/Middleware/HandleHubspotRateLimit.php\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Exceptions/RateLimitException.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Activity/Import/MatchCrmData.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Crm/MatchActivityCrmData.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Crm/Hubspot/Client.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Crm/Hubspot/HubspotClientInterface.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Crm/Hubspot/Pagination/PaginationState.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Crm/Hubspot/Service.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local.bak\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ gbr\n* JY-20725-handle-HS-search-rate-limit\n master\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\n JY-20160\n JY-20145-filter-out-converted-leads-when-matching\n JY-20150-skip-push-summary-on-summary-ready-if-autolog\n JY-20132-fix-note-encoding\n JY-19792-clean-logs\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ dev\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# php artisan jiminny:debug\nMatching contact 0\n\n TypeError \n\n Jiminny\\Services\\Crm\\Hubspot\\Pagination\\HubspotPaginationService::getPaginatedDataGenerator(): Return value must be of type Generator, none returned\n\n at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:83\n 79▕ \n 80▕ // Update reference parameters\n 81▕ $total = $state->total;\n 82▕ $lastRecordId = $state->lastRecordId;\n ➜ 83▕ }\n 84▕ \n 85▕ private function shouldStopPagination(PaginationState $state, int $teamId): bool\n 86▕ {\n 87▕ if ($state->hasReachedSafetyLimit()) {\n\n 1 app/Services/Crm/Hubspot/Client.php:195\n Jiminny\\Services\\Crm\\Hubspot\\Pagination\\HubspotPaginationService::getPaginatedDataGenerator(Object(Jiminny\\Services\\Crm\\Hubspot\\Client), [], \"contact\")\n\n 2 app/Services/Crm/Hubspot/Client.php:176\n Jiminny\\Services\\Crm\\Hubspot\\Client::getPaginatedDataGenerator([], \"contact\")\n\nroot@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all\n\n INFO Clearing cached bootstrap files. \n\n config .............................................................................................................................. 14.73ms DONE\n cache ............................................................................................................................... 19.13ms DONE\n compiled ............................................................................................................................. 4.93ms DONE\n events ............................................................................................................................... 3.02ms DONE\n routes ............................................................................................................................... 5.55ms DONE\n views ................................................................................................................................ 6.02ms 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\nworker-conferences:worker-conferences_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-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\n\n Jiminny\\Exceptions\\RateLimitException \n\n Hubspot returned 429\n\n at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:206\n 202▕ 'retry_after' => $retryAfter,\n 203▕ 'reason' => $e->getMessage(),\n 204▕ ]);\n 205▕ \n ➜ 206▕ throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);\n 207▕ } else {\n 208▕ throw $e;\n 209▕ }\n 210▕ }\n\n +14 vendor frames \n\n 15 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:166\n SevenShores\\Hubspot\\Http\\Client::request(\"POST\", \"https://api.hubapi.com/crm/v3/objects/contact/search\", [])\n\n 16 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:52\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 ............................................................................................................................... 4.47ms DONE\n cache ............................................................................................................................... 16.66ms DONE\n compiled ............................................................................................................................. 3.26ms DONE\n events ............................................................................................................................... 3.99ms DONE\n routes ............................................................................................................................... 3.85ms DONE\n views ................................................................................................................................ 4.93ms 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\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\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 .............................................................................................................................. 14.42ms DONE\n cache ............................................................................................................................... 23.70ms DONE\n compiled ............................................................................................................................. 3.46ms DONE\n events ............................................................................................................................... 4.30ms DONE\n routes ............................................................................................................................... 8.35ms DONE\n views ................................................................................................................................ 8.00ms DONE\n\njiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped\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\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-conferences:worker-conferences_00: stopped\nworker-crm-sync:worker-crm-sync_00: stopped\nworker-emails:worker-emails_00: stopped\nworker-calendar:worker-calendar_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 jiminny:debug\nMatching contact 0\n\n Jiminny\\Exceptions\\RateLimitException \n\n Hubspot returned 429\n\n at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:206\n 202▕ 'retry_after' => $retryAfter,\n 203▕ 'reason' => $e->getMessage(),\n 204▕ ]);\n 205▕ \n ➜ 206▕ throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);\n 207▕ } else {\n 208▕ throw $e;\n 209▕ }\n 210▕ }\n\n +14 vendor frames \n\n 15 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:166\n SevenShores\\Hubspot\\Http\\Client::request(\"POST\", \"https://api.hubapi.com/crm/v3/objects/contact/search\", [])\n\n 16 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:52\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 ............................................................................................................................... 6.77ms DONE\n cache ............................................................................................................................... 25.55ms DONE\n compiled ............................................................................................................................. 3.87ms DONE\n events ............................................................................................................................... 4.96ms DONE\n routes ............................................................................................................................... 2.23ms DONE\n views ................................................................................................................................ 7.50ms 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-conferences:worker-conferences_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-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\nroot@docker_lamp_1:/home/jiminny# \nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug 007d5da3af66\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (master) $ dev\nroot@docker_lamp_1:/home/jiminny# \nWhat's next:\n Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug 007d5da3af66\n Learn more at https://docs.docker.com/go/debug-cli/\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status\nOn branch JY-20725-handle-HS-search-rate-limit\nChanges to be committed:\n (use \"git restore --staged <file>...\" to unstage)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tnew file: app/Jobs/Middleware/HandleHubspotRateLimit.php\n\nChanges not staged for commit:\n (use \"git add <file>...\" to update what will be committed)\n (use \"git restore <file>...\" to discard changes in working directory)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: .env.local\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Console/Commands/JiminnyDebugCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Exceptions/RateLimitException.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Activity/Import/MatchCrmData.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Jobs/Crm/MatchActivityCrmData.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Crm/Hubspot/Client.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Crm/Hubspot/HubspotClientInterface.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Crm/Hubspot/Pagination/PaginationState.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: app/Services/Crm/Hubspot/Service.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tmodified: config/logging.php\n\nUntracked files:\n (use \"git add <file>...\" to include in what will be committed)\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.local.bak\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.nikilocal\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\t.env.other\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tWEBHOOK_FILTERING_IMPLEMENTATION.md\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tapp/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tids.txt\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\tpublic/favicon.ico\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\traw_sql_query.sql\n\u0000\u0000\u0000\u0000\u0000\u0000\u0000\ttests/Unit/Policies/CanAccessAiReportsTest.php\n\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ gbr\n* JY-20725-handle-HS-search-rate-limit\n master\n JY-20818-move-AJ-reports-to-separated-datadog-metric\n JY-20773-fix-automated-reports-user-pilot-tracking\n JY-20157-AJ-report-not-send-notification\n JY-20508-notify-before-AJ-report-expiration\n JY-20372-ai-reports-promotion-pages\n JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null\n JY-20738-debug-AJ-tracking-UP\n a\n JY-18909-automated-reports-ask-jiminny\n JY-20692-fix-integration-app-token-auth-response-change\n JY-20553-debug-crm-sync-delays\n JY-20698-fix-SF-activity-types-on-new-playbook\n JY-20543-AJ-report-tracking\n JY-20384-handle-auto-sync-with-no-access-to-event-type\n JY-20458-ask-jiminny-user-definitions\n JY-19666-fix-import-contacts-account-association\n JY-19666-HS-import-contacts-and-accounts-batch-job\n JY-20458-Ask-Jiminny-Reports\n JY-20200-batch-update-CRM-objects-Salesforce\n JY-19666-HS-webhooks-add-contact-and-company\n JY-20348-trigger-setup-DI-layout-on-team-creation\n JY-20326-refactor-info-message-in-command\n JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled\n JY-20312-remove-on-update-change-last-synced-at-crm-configurations\n JY-20306-SF-skip-auto-sync-for-task-based-playbook\n JY-20192-remove-deleted-team-from-saved-search-filters\n JY-20197-import-opportunity-batch-job\n JY-20293-enable-status-field-for-pipedrive-deals\n JY-20191-remove-commands-interactive-prompts\n JY-20118-change-default-sync-strategy\n JY-20183-add-cache-on-auto-log-delay\n JY-20197-add-import-opportunity-batch-job\n 20118-hs-opportunity-make-webhook-strategy-default\n JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based\n JY-20196-handle-opportunity-without-note\n JY-20118-improve-opportunity-import\n JY-20189-handle-activity-search-on-deleted-groups\n JY-20160\n JY-20145-filter-out-converted-leads-when-matching\n JY-20150-skip-push-summary-on-summary-ready-if-autolog\n JY-20132-fix-note-encoding\n JY-19792-clean-logs\nlukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ dev\nroot@docker_lamp_1:/home/jiminny#","is_focused":true},{"role":"AXRadioButton","text":"DOCKER","depth":2,"bounds":{"left":0.27027926,"top":1.0,"width":0.078457445,"height":-0.042298436},"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.27227393,"top":1.0,"width":0.005319149,"height":-0.04549086},"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.3487367,"top":1.0,"width":0.078457445,"height":-0.042298436},"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.35073137,"top":1.0,"width":0.005319149,"height":-0.04549086},"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.42719415,"top":1.0,"width":0.078457445,"height":-0.042298436},"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.42918882,"top":1.0,"width":0.005319149,"height":-0.04549086},"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.5056516,"top":1.0,"width":0.078457445,"height":-0.042298436},"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.50764626,"top":1.0,"width":0.005319149,"height":-0.04549086},"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.58410907,"top":1.0,"width":0.078457445,"height":-0.042298436},"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.58610374,"top":1.0,"width":0.005319149,"height":-0.04549086},"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.6625665,"top":1.0,"width":0.078457445,"height":-0.042298436},"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.66456115,"top":1.0,"width":0.005319149,"height":-0.04549086},"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.7273936,"top":1.0,"width":0.01861702,"height":-0.023144484},"on_screen":true,"automation_id":"_NS:8","role_description":"text"},{"role":"AXStaticText","text":"DEV (docker)","depth":1,"bounds":{"left":0.49468085,"top":1.0,"width":0.029920213,"height":-0.02394259},"on_screen":true,"role_description":"text"}]...
|
4230719141069081777
|
4433905540982950660
|
idle
|
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# php artisan jiminny:debug
Matching contact 0
TypeError
Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService::getPaginatedDataGenerator(): Return value must be of type Generator, none returned
at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:83
79▕
80▕ // Update reference parameters
81▕ $total = $state->total;
82▕ $lastRecordId = $state->lastRecordId;
➜ 83▕ }
84▕
85▕ private function shouldStopPagination(PaginationState $state, int $teamId): bool
86▕ {
87▕ if ($state->hasReachedSafetyLimit()) {
1 app/Services/Crm/Hubspot/Client.php:195
Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService::getPaginatedDataGenerator(Object(Jiminny\Services\Crm\Hubspot\Client), [], "contact")
2 app/Services/Crm/Hubspot/Client.php:176
Jiminny\Services\Crm\Hubspot\Client::getPaginatedDataGenerator([], "contact")
root@docker_lamp_1:/home/jiminny# php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 14.73ms DONE
cache [PASSWORD_DOTS] 19.13ms DONE
compiled [PASSWORD_DOTS] 4.93ms DONE
events [PASSWORD_DOTS] 3.02ms DONE
routes [PASSWORD_DOTS] 5.55ms DONE
views [PASSWORD_DOTS] 6.02ms 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
worker-conferences:worker-conferences_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-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
Jiminny\Exceptions\RateLimitException
Hubspot returned 429
at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:206
202▕ 'retry_after' => $retryAfter,
203▕ 'reason' => $e->getMessage(),
204▕ ]);
205▕
➜ 206▕ throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);
207▕ } else {
208▕ throw $e;
209▕ }
210▕ }
+14 vendor frames
15 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:166
SevenShores\Hubspot\Http\Client::request("POST", "[URL_WITH_CREDENTIALS] php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 4.47ms DONE
cache [PASSWORD_DOTS] 16.66ms DONE
compiled [PASSWORD_DOTS] 3.26ms DONE
events [PASSWORD_DOTS] 3.99ms DONE
routes [PASSWORD_DOTS] 3.85ms DONE
views [PASSWORD_DOTS] 4.93ms 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
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
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] 14.42ms DONE
cache [PASSWORD_DOTS] 23.70ms DONE
compiled [PASSWORD_DOTS] 3.46ms DONE
events [PASSWORD_DOTS] 4.30ms DONE
routes [PASSWORD_DOTS] 8.35ms DONE
views [PASSWORD_DOTS] 8.00ms DONE
jiminny-worker-processing-delayed:jiminny-worker-processing-delayed_00: stopped
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
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-conferences:worker-conferences_00: stopped
worker-crm-sync:worker-crm-sync_00: stopped
worker-emails:worker-emails_00: stopped
worker-calendar:worker-calendar_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 jiminny:debug
Matching contact 0
Jiminny\Exceptions\RateLimitException
Hubspot returned 429
at app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:206
202▕ 'retry_after' => $retryAfter,
203▕ 'reason' => $e->getMessage(),
204▕ ]);
205▕
➜ 206▕ throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);
207▕ } else {
208▕ throw $e;
209▕ }
210▕ }
+14 vendor frames
15 app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php:166
SevenShores\Hubspot\Http\Client::request("POST", "[URL_WITH_CREDENTIALS] php artisan optimize:clear && supervisorctl restart all
INFO Clearing cached bootstrap files.
config [PASSWORD_DOTS] 6.77ms DONE
cache [PASSWORD_DOTS] 25.55ms DONE
compiled [PASSWORD_DOTS] 3.87ms DONE
events [PASSWORD_DOTS] 4.96ms DONE
routes [PASSWORD_DOTS] 2.23ms DONE
views [PASSWORD_DOTS] 7.50ms 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-conferences:worker-conferences_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-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
root@docker_lamp_1:/home/jiminny#
What's next:
Try Docker Debug for seamless, persistent debugging tools in any container or image → docker debug 007d5da3af66
Learn more at [URL_WITH_CREDENTIALS] ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ git status
On branch JY-20725-handle-HS-search-rate-limit
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: app/Jobs/Middleware/HandleHubspotRateLimit.php
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: .env.local
modified: app/Console/Commands/JiminnyDebugCommand.php
modified: app/Exceptions/RateLimitException.php
modified: app/Jobs/Activity/Import/MatchCrmData.php
modified: app/Jobs/Crm/MatchActivityCrmData.php
modified: app/Services/Crm/Hubspot/Client.php
modified: app/Services/Crm/Hubspot/HubspotClientInterface.php
modified: app/Services/Crm/Hubspot/Pagination/HubspotPaginationService.php
modified: app/Services/Crm/Hubspot/Pagination/PaginationState.php
modified: app/Services/Crm/Hubspot/Service.php
modified: config/logging.php
Untracked files:
(use "git add <file>..." to include in what will be committed)
.env.local.bak
.env.nikilocal
.env.other
WEBHOOK_FILTERING_IMPLEMENTATION.md
app/Console/Commands/Crm/Hubspot/SimulateWebhooksCommand.php
app/Console/Commands/Reports/CreateMockAskJiminnyReportResultCommand.php
ids.txt
public/favicon.ico
raw_sql_query.sql
tests/Unit/Policies/CanAccessAiReportsTest.php
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ gbr
* JY-20725-handle-HS-search-rate-limit
master
JY-20818-move-AJ-reports-to-separated-datadog-metric
JY-20773-fix-automated-reports-user-pilot-tracking
JY-20157-AJ-report-not-send-notification
JY-20508-notify-before-AJ-report-expiration
JY-20372-ai-reports-promotion-pages
JY-20352-sync-opportunities-without-a-local-owner-user-id-is-null
JY-20738-debug-AJ-tracking-UP
a
JY-18909-automated-reports-ask-jiminny
JY-20692-fix-integration-app-[API_KEY]
JY-20553-debug-crm-sync-delays
JY-20698-fix-SF-activity-types-on-new-playbook
JY-20543-AJ-report-tracking
JY-20384-handle-auto-sync-with-no-access-to-event-type
JY-20458-ask-jiminny-user-definitions
JY-19666-fix-import-contacts-account-association
JY-19666-HS-import-contacts-and-accounts-batch-job
JY-20458-Ask-Jiminny-Reports
JY-20200-batch-update-CRM-objects-Salesforce
JY-19666-HS-webhooks-add-contact-and-company
JY-20348-trigger-setup-DI-layout-on-team-creation
JY-20326-refactor-info-message-in-command
JY-20317-fix-auto-log-delay-issue-on-all-channels-disabled
JY-20312-remove-on-update-change-last-synced-at-crm-configurations
JY-20306-SF-skip-auto-sync-for-task-based-playbook
JY-20192-remove-deleted-team-from-saved-search-filters
JY-20197-import-opportunity-batch-job
JY-20293-enable-status-field-for-pipedrive-deals
JY-20191-remove-commands-interactive-prompts
JY-20118-change-default-sync-strategy
JY-20183-add-cache-on-auto-log-delay
JY-20197-add-import-opportunity-batch-job
20118-hs-opportunity-make-webhook-strategy-default
JY-20118-make-default-hs-opportunity-sync-strategy-webhook-based
JY-20196-handle-opportunity-without-note
JY-20118-improve-opportunity-import
JY-20189-handle-activity-search-on-deleted-groups
JY-20160
JY-20145-filter-out-converted-leads-when-matching
JY-20150-skip-push-summary-on-summary-ready-if-autolog
JY-20132-fix-note-encoding
JY-19792-clean-logs
lukas@Lukas-Kovaliks-MacBook-Pro-Jiminny ~/jiminny/app (JY-20725-handle-HS-search-rate-limit) $ dev
root@docker_lamp_1:/home/jiminny#
DOCKER
Close Tab
DEV (docker)
Close Tab
APP (-zsh)
Close Tab
-zsh
Close Tab
-zsh
Close Tab
screenpipe"
Close Tab
⌥⌘1
DEV (docker)...
|
16946
|
NULL
|
NULL
|
NULL
|
|
16908
|
NULL
|
0
|
2026-05-11T09:40:33.709687+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778492433709_m1.jpg...
|
PhpStorm
|
faVsco.js – Client.php
|
1
|
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
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
2
67
3
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Services\Crm\Hubspot;
use HubSpot\Client\Crm\Deals\ApiException as DealApiException;
use HubSpot\Client\Crm\Contacts\ApiException as ContactApiException;
use HubSpot\Client\Crm\Companies\ApiException as CompanyApiException;
use HubSpot\Client\Crm\Contacts\Model\SimplePublicObjectWithAssociations as ContactsWithAssociations;
use HubSpot\Client\Crm\Companies\Model\SimplePublicObjectWithAssociations as CompaniesWithAssociations;
use HubSpot\Client\Crm\Deals\Model\SimplePublicObjectWithAssociations as DealWithAssociations;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectInput;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectWithAssociations as ObjectWithAssociations;
use HubSpot\Client\Crm\Pipelines\Model\Error;
use HubSpot\Client\Crm\Pipelines\Model\PipelineStage;
use HubSpot\Client\Crm\Properties\Model\Property;
use HubSpot\Discovery\Discovery;
use Jiminny\Exceptions\CrmException;
use Jiminny\Exceptions\RateLimitException;
use Jiminny\Exceptions\SocialAccountTokenInvalidException;
use Jiminny\Jobs\Crm\NoteObject;
use Jiminny\Models\Crm\Field;
use Jiminny\Services\Crm\BaseClient;
use Jiminny\Services\Crm\Hubspot\DTO\Response\Owner;
use Jiminny\Services\SocialAccountService;
use SevenShores\Hubspot\Exceptions\BadRequest;
use SevenShores\Hubspot\Exceptions\HubspotException;
use SevenShores\Hubspot\Factory;
use SevenShores\Hubspot\Http\Response;
use Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService;
use Illuminate\Support\Facades\Redis;
use Throwable;
/**
* @phpstan-type 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)
{
$cacheKey = $this->getRateLimitCacheKey();
$cachedRetryAfter = Redis::get($cacheKey);
if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {
throw new RateLimitException(
'Hubspot rate limit (cached circuit-breaker)',
(int) $cachedRetryAfter,
);
}
try {
return $apiCall();
} catch (Throwable $e) {
if ($this->isHubspotRateLimit($e)) {
$retryAfter = $this->parseRetryAfter($e);
Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);
$this->log->warning('[Hubspot] Received 429 from API', [
'team_id' => $this->config->team_id,
'config_id' => $this->config->getId(),
'retry_after' => $retryAfter,
'policy' => $this->parsePolicy($e),
'reason' => $e->getMessage(),
]);
throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);
}
throw $e;
}
}
private function getRateLimitCacheKey(): string
{
return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());
}
public function isHubspotRateLimit(Throwable $e): bool
{
if ($e instanceof BadRequest
|| $e instanceof DealApiException
|| $e instanceof ContactApiException
|| $e instanceof CompanyApiException
|| $e instanceof \GuzzleHttp\Exception\RequestException
) {
return (int) $e->getCode() === 429;
}
return false;
}
public 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;
}
}
$policy = $this->parsePolicy($e);
if ($policy === 'TEN_SECONDLY_ROLLING') {
return 10;
}
if ($policy === 'SECONDLY') {
return 1;
}
if ($policy === 'DAILY_LIMIT') {
return 600;
}
$this->log->warning('[Hubspot] No retry-after header or policy name found, using default', [
'exception_class' => get_class($e),
]);
return 10;
}
public function parsePolicy(Throwable $e): ?string
{
if (! method_exists($e, 'getResponseBody')) {
return null;
}
$body = $e->getResponseBody();
if (is_string($body)) {
$body = json_decode($body, true) ?? [];
}
if (! is_array($body)) {
return null;
}
$policy = $body['policyName'] ?? $body['policy'] ?? $body['context']['policyName'] ?? null;
return is_string($policy) ? strtoupper($policy) : null;
}
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
);
}
/**
* Execute a search request against HubSpot CRM objects with rate limiting.
*
* @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')
* @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.
* @return array The search response with 'results', 'total', 'paging' keys
* @throws RateLimitException When rate limit is hit
* @throws HubspotException On API errors
*/
public function search(string $objectType, array $payload): array
{
$endpoint = self::BASE_URL . "/crm/v3/objects/{$objectType}/search";
return $this->executeRequest(function () use ($endpoint, $payload) {
$response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);
return $response->toArray();
});
}
/**
* @throws DealApiException
* @throws CrmException
*/
public function getOpportunityById(string $crmId, array $fields): array
{
try {
// $deal = $this->executeRequest(fn () => $this->getNewInstance()->crm()->deals()->basicApi()->getById(
$deal = $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') {
return $this->getInstance()->getClient()?->request(
method: $method,
endpoint: $endpoint,
query_string: $queryString
);
} else {
return $this->getInstance()->getClient()->request($method, $endpoint, [
'json' => ($payload),
]);
}
}
/**
* @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 (RateLimitException $e) {
// throw $e;
} 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);
}
}
Sync Changes
Hide This Notification
Code changed:
Hide
19
Previous Highlighted Error
Next Highlighted Error
[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {
"headers":{
"Date":["Thu,07 May 2026 14:21:15 GMT"],
"Content-Type":["application/json;charset=utf-8"],
"Transfer-Encoding":["chunked"],
"Connection":["keep-alive"],
"CF-Ray":["9f80deb8db60dc3a-SOF"],
"CF-Cache-Status":["DYNAMIC"],
"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],
"Vary":["origin,
accept-encoding"],
"access-control-allow-credentials":["false"],
"server-timing":["hcid;desc=\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\",
cfr;desc=\"9f80deb8e7c6dc3a-IAD\""],
"x-content-type-options":["nosniff"],
"x-hubspot-correlation-id":["019e02d0-6fd8-7812-bdba-885b7ccb3ee3"],
"Set-Cookie":["__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-[IP_ADDRESS]-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,
07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None"],
"Report-To":["{
\"endpoints\":[{
\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\"}],
\"group\":\"cf-nel\",
\"max_age\":604800}"],
"NEL":["{
\"success_fraction\":0.01,
\"report_to\":\"cf-nel\",
\"max_age\":604800}"],
"Server":["cloudflare"]}} {
"correlation_id":"95236535-ec98-4541-b92a-adfa73b69eab",
"trace_id":"c7ab8365-903f-46d4-9403-0e5b551e3545"}
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":"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":"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":"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,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"67","depth":4,"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","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\\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\\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 Illuminate\\Support\\Facades\\Redis;\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\n public function __construct(\n SocialAccountService $socialAccountService,\n HubspotPaginationService $paginationService,\n HubspotTokenManager $tokenManager\n ) {\n parent::__construct($socialAccountService);\n $this->paginationService = $paginationService;\n $this->tokenManager = $tokenManager;\n\n $this->setBaseUrl(self::BASE_URL);\n $this->setVersion(self::MIN_API_VERSION);\n }\n\n /**\n * Reacts to a rate limits (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 $cacheKey = $this->getRateLimitCacheKey();\n\n $cachedRetryAfter = Redis::get($cacheKey);\n if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {\n throw new RateLimitException(\n 'Hubspot rate limit (cached circuit-breaker)',\n (int) $cachedRetryAfter,\n );\n }\n\n try {\n return $apiCall();\n } catch (Throwable $e) {\n if ($this->isHubspotRateLimit($e)) {\n $retryAfter = $this->parseRetryAfter($e);\n\n Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);\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 'policy' => $this->parsePolicy($e),\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 getRateLimitCacheKey(): string\n {\n return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());\n }\n\n public function isHubspotRateLimit(Throwable $e): bool\n {\n if ($e instanceof BadRequest\n || $e instanceof DealApiException\n || $e instanceof ContactApiException\n || $e instanceof CompanyApiException\n || $e instanceof \\GuzzleHttp\\Exception\\RequestException\n ) {\n return (int) $e->getCode() === 429;\n }\n\n return false;\n }\n\n public 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 $policy = $this->parsePolicy($e);\n if ($policy === 'TEN_SECONDLY_ROLLING') {\n return 10;\n }\n if ($policy === 'SECONDLY') {\n return 1;\n }\n if ($policy === 'DAILY_LIMIT') {\n return 600;\n }\n\n $this->log->warning('[Hubspot] No retry-after header or policy name found, using default', [\n 'exception_class' => get_class($e),\n ]);\n\n return 10;\n }\n\n public function parsePolicy(Throwable $e): ?string\n {\n if (! method_exists($e, 'getResponseBody')) {\n return null;\n }\n\n $body = $e->getResponseBody();\n if (is_string($body)) {\n $body = json_decode($body, true) ?? [];\n }\n\n if (! is_array($body)) {\n return null;\n }\n\n $policy = $body['policyName'] ?? $body['policy'] ?? $body['context']['policyName'] ?? null;\n\n return is_string($policy) ? strtoupper($policy) : null;\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 * Execute a search request against HubSpot CRM objects with rate limiting.\n *\n * @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')\n * @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.\n * @return array The search response with 'results', 'total', 'paging' keys\n * @throws RateLimitException When rate limit is hit\n * @throws HubspotException On API errors\n */\n public function search(string $objectType, array $payload): array\n {\n $endpoint = self::BASE_URL . \"/crm/v3/objects/{$objectType}/search\";\n\n return $this->executeRequest(function () use ($endpoint, $payload) {\n $response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);\n\n return $response->toArray();\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 $deal = $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 return $this->getInstance()->getClient()?->request(\n method: $method,\n endpoint: $endpoint,\n query_string: $queryString\n );\n } else {\n return $this->getInstance()->getClient()->request($method, $endpoint, [\n 'json' => ($payload),\n ]);\n }\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 (RateLimitException $e) {\n// throw $e;\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\\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 Illuminate\\Support\\Facades\\Redis;\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\n public function __construct(\n SocialAccountService $socialAccountService,\n HubspotPaginationService $paginationService,\n HubspotTokenManager $tokenManager\n ) {\n parent::__construct($socialAccountService);\n $this->paginationService = $paginationService;\n $this->tokenManager = $tokenManager;\n\n $this->setBaseUrl(self::BASE_URL);\n $this->setVersion(self::MIN_API_VERSION);\n }\n\n /**\n * Reacts to a rate limits (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 $cacheKey = $this->getRateLimitCacheKey();\n\n $cachedRetryAfter = Redis::get($cacheKey);\n if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {\n throw new RateLimitException(\n 'Hubspot rate limit (cached circuit-breaker)',\n (int) $cachedRetryAfter,\n );\n }\n\n try {\n return $apiCall();\n } catch (Throwable $e) {\n if ($this->isHubspotRateLimit($e)) {\n $retryAfter = $this->parseRetryAfter($e);\n\n Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);\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 'policy' => $this->parsePolicy($e),\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 getRateLimitCacheKey(): string\n {\n return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());\n }\n\n public function isHubspotRateLimit(Throwable $e): bool\n {\n if ($e instanceof BadRequest\n || $e instanceof DealApiException\n || $e instanceof ContactApiException\n || $e instanceof CompanyApiException\n || $e instanceof \\GuzzleHttp\\Exception\\RequestException\n ) {\n return (int) $e->getCode() === 429;\n }\n\n return false;\n }\n\n public 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 $policy = $this->parsePolicy($e);\n if ($policy === 'TEN_SECONDLY_ROLLING') {\n return 10;\n }\n if ($policy === 'SECONDLY') {\n return 1;\n }\n if ($policy === 'DAILY_LIMIT') {\n return 600;\n }\n\n $this->log->warning('[Hubspot] No retry-after header or policy name found, using default', [\n 'exception_class' => get_class($e),\n ]);\n\n return 10;\n }\n\n public function parsePolicy(Throwable $e): ?string\n {\n if (! method_exists($e, 'getResponseBody')) {\n return null;\n }\n\n $body = $e->getResponseBody();\n if (is_string($body)) {\n $body = json_decode($body, true) ?? [];\n }\n\n if (! is_array($body)) {\n return null;\n }\n\n $policy = $body['policyName'] ?? $body['policy'] ?? $body['context']['policyName'] ?? null;\n\n return is_string($policy) ? strtoupper($policy) : null;\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 * Execute a search request against HubSpot CRM objects with rate limiting.\n *\n * @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')\n * @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.\n * @return array The search response with 'results', 'total', 'paging' keys\n * @throws RateLimitException When rate limit is hit\n * @throws HubspotException On API errors\n */\n public function search(string $objectType, array $payload): array\n {\n $endpoint = self::BASE_URL . \"/crm/v3/objects/{$objectType}/search\";\n\n return $this->executeRequest(function () use ($endpoint, $payload) {\n $response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);\n\n return $response->toArray();\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 $deal = $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 return $this->getInstance()->getClient()?->request(\n method: $method,\n endpoint: $endpoint,\n query_string: $queryString\n );\n } else {\n return $this->getInstance()->getClient()->request($method, $endpoint, [\n 'json' => ($payload),\n ]);\n }\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 (RateLimitException $e) {\n// throw $e;\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":"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":"19","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-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {\n\"headers\":{\n\"Date\":[\"Thu,07 May 2026 14:21:15 GMT\"],\n \"Content-Type\":[\"application/json;charset=utf-8\"],\n \"Transfer-Encoding\":[\"chunked\"],\n \"Connection\":[\"keep-alive\"],\n \"CF-Ray\":[\"9f80deb8db60dc3a-SOF\"],\n \"CF-Cache-Status\":[\"DYNAMIC\"],\n \"Strict-Transport-Security\":[\"max-age=31536000; includeSubDomains; preload\"],\n \"Vary\":[\"origin,\n accept-encoding\"],\n \"access-control-allow-credentials\":[\"false\"],\n \"server-timing\":[\"hcid;desc=\\\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\\\",\n cfr;desc=\\\"9f80deb8e7c6dc3a-IAD\\\"\"],\n \"x-content-type-options\":[\"nosniff\"],\n \"x-hubspot-correlation-id\":[\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\"],\n \"Set-Cookie\":[\"__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-1.0.1.1-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,\n 07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None\"],\n \"Report-To\":[\"{\n\\\"endpoints\\\":[{\n\\\"url\\\":\\\"https:\\\\/\\\\/a.nel.cloudflare.com\\\\/report\\\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\\\"}],\n\\\"group\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"NEL\":[\"{\n\\\"success_fraction\\\":0.01,\n\\\"report_to\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"Server\":[\"cloudflare\"]}} {\n\"correlation_id\":\"95236535-ec98-4541-b92a-adfa73b69eab\",\n\"trace_id\":\"c7ab8365-903f-46d4-9403-0e5b551e3545\"}","depth":4,"on_screen":true,"value":"[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {\n\"headers\":{\n\"Date\":[\"Thu,07 May 2026 14:21:15 GMT\"],\n \"Content-Type\":[\"application/json;charset=utf-8\"],\n \"Transfer-Encoding\":[\"chunked\"],\n \"Connection\":[\"keep-alive\"],\n \"CF-Ray\":[\"9f80deb8db60dc3a-SOF\"],\n \"CF-Cache-Status\":[\"DYNAMIC\"],\n \"Strict-Transport-Security\":[\"max-age=31536000; includeSubDomains; preload\"],\n \"Vary\":[\"origin,\n accept-encoding\"],\n \"access-control-allow-credentials\":[\"false\"],\n \"server-timing\":[\"hcid;desc=\\\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\\\",\n cfr;desc=\\\"9f80deb8e7c6dc3a-IAD\\\"\"],\n \"x-content-type-options\":[\"nosniff\"],\n \"x-hubspot-correlation-id\":[\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\"],\n \"Set-Cookie\":[\"__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-1.0.1.1-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,\n 07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None\"],\n \"Report-To\":[\"{\n\\\"endpoints\\\":[{\n\\\"url\\\":\\\"https:\\\\/\\\\/a.nel.cloudflare.com\\\\/report\\\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\\\"}],\n\\\"group\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"NEL\":[\"{\n\\\"success_fraction\\\":0.01,\n\\\"report_to\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"Server\":[\"cloudflare\"]}} {\n\"correlation_id\":\"95236535-ec98-4541-b92a-adfa73b69eab\",\n\"trace_id\":\"c7ab8365-903f-46d4-9403-0e5b551e3545\"}","role_description":"text entry area","is_enabled":true,"is_focused":false,"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}]...
|
1512401689050609212
|
6666848987523188836
|
idle
|
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
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
2
67
3
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Services\Crm\Hubspot;
use HubSpot\Client\Crm\Deals\ApiException as DealApiException;
use HubSpot\Client\Crm\Contacts\ApiException as ContactApiException;
use HubSpot\Client\Crm\Companies\ApiException as CompanyApiException;
use HubSpot\Client\Crm\Contacts\Model\SimplePublicObjectWithAssociations as ContactsWithAssociations;
use HubSpot\Client\Crm\Companies\Model\SimplePublicObjectWithAssociations as CompaniesWithAssociations;
use HubSpot\Client\Crm\Deals\Model\SimplePublicObjectWithAssociations as DealWithAssociations;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectInput;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectWithAssociations as ObjectWithAssociations;
use HubSpot\Client\Crm\Pipelines\Model\Error;
use HubSpot\Client\Crm\Pipelines\Model\PipelineStage;
use HubSpot\Client\Crm\Properties\Model\Property;
use HubSpot\Discovery\Discovery;
use Jiminny\Exceptions\CrmException;
use Jiminny\Exceptions\RateLimitException;
use Jiminny\Exceptions\SocialAccountTokenInvalidException;
use Jiminny\Jobs\Crm\NoteObject;
use Jiminny\Models\Crm\Field;
use Jiminny\Services\Crm\BaseClient;
use Jiminny\Services\Crm\Hubspot\DTO\Response\Owner;
use Jiminny\Services\SocialAccountService;
use SevenShores\Hubspot\Exceptions\BadRequest;
use SevenShores\Hubspot\Exceptions\HubspotException;
use SevenShores\Hubspot\Factory;
use SevenShores\Hubspot\Http\Response;
use Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService;
use Illuminate\Support\Facades\Redis;
use Throwable;
/**
* @phpstan-type 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)
{
$cacheKey = $this->getRateLimitCacheKey();
$cachedRetryAfter = Redis::get($cacheKey);
if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {
throw new RateLimitException(
'Hubspot rate limit (cached circuit-breaker)',
(int) $cachedRetryAfter,
);
}
try {
return $apiCall();
} catch (Throwable $e) {
if ($this->isHubspotRateLimit($e)) {
$retryAfter = $this->parseRetryAfter($e);
Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);
$this->log->warning('[Hubspot] Received 429 from API', [
'team_id' => $this->config->team_id,
'config_id' => $this->config->getId(),
'retry_after' => $retryAfter,
'policy' => $this->parsePolicy($e),
'reason' => $e->getMessage(),
]);
throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);
}
throw $e;
}
}
private function getRateLimitCacheKey(): string
{
return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());
}
public function isHubspotRateLimit(Throwable $e): bool
{
if ($e instanceof BadRequest
|| $e instanceof DealApiException
|| $e instanceof ContactApiException
|| $e instanceof CompanyApiException
|| $e instanceof \GuzzleHttp\Exception\RequestException
) {
return (int) $e->getCode() === 429;
}
return false;
}
public 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;
}
}
$policy = $this->parsePolicy($e);
if ($policy === 'TEN_SECONDLY_ROLLING') {
return 10;
}
if ($policy === 'SECONDLY') {
return 1;
}
if ($policy === 'DAILY_LIMIT') {
return 600;
}
$this->log->warning('[Hubspot] No retry-after header or policy name found, using default', [
'exception_class' => get_class($e),
]);
return 10;
}
public function parsePolicy(Throwable $e): ?string
{
if (! method_exists($e, 'getResponseBody')) {
return null;
}
$body = $e->getResponseBody();
if (is_string($body)) {
$body = json_decode($body, true) ?? [];
}
if (! is_array($body)) {
return null;
}
$policy = $body['policyName'] ?? $body['policy'] ?? $body['context']['policyName'] ?? null;
return is_string($policy) ? strtoupper($policy) : null;
}
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
);
}
/**
* Execute a search request against HubSpot CRM objects with rate limiting.
*
* @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')
* @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.
* @return array The search response with 'results', 'total', 'paging' keys
* @throws RateLimitException When rate limit is hit
* @throws HubspotException On API errors
*/
public function search(string $objectType, array $payload): array
{
$endpoint = self::BASE_URL . "/crm/v3/objects/{$objectType}/search";
return $this->executeRequest(function () use ($endpoint, $payload) {
$response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);
return $response->toArray();
});
}
/**
* @throws DealApiException
* @throws CrmException
*/
public function getOpportunityById(string $crmId, array $fields): array
{
try {
// $deal = $this->executeRequest(fn () => $this->getNewInstance()->crm()->deals()->basicApi()->getById(
$deal = $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') {
return $this->getInstance()->getClient()?->request(
method: $method,
endpoint: $endpoint,
query_string: $queryString
);
} else {
return $this->getInstance()->getClient()->request($method, $endpoint, [
'json' => ($payload),
]);
}
}
/**
* @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 (RateLimitException $e) {
// throw $e;
} 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);
}
}
Sync Changes
Hide This Notification
Code changed:
Hide
19
Previous Highlighted Error
Next Highlighted Error
[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {
"headers":{
"Date":["Thu,07 May 2026 14:21:15 GMT"],
"Content-Type":["application/json;charset=utf-8"],
"Transfer-Encoding":["chunked"],
"Connection":["keep-alive"],
"CF-Ray":["9f80deb8db60dc3a-SOF"],
"CF-Cache-Status":["DYNAMIC"],
"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],
"Vary":["origin,
accept-encoding"],
"access-control-allow-credentials":["false"],
"server-timing":["hcid;desc=\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\",
cfr;desc=\"9f80deb8e7c6dc3a-IAD\""],
"x-content-type-options":["nosniff"],
"x-hubspot-correlation-id":["019e02d0-6fd8-7812-bdba-885b7ccb3ee3"],
"Set-Cookie":["__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-[IP_ADDRESS]-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,
07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None"],
"Report-To":["{
\"endpoints\":[{
\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\"}],
\"group\":\"cf-nel\",
\"max_age\":604800}"],
"NEL":["{
\"success_fraction\":0.01,
\"report_to\":\"cf-nel\",
\"max_age\":604800}"],
"Server":["cloudflare"]}} {
"correlation_id":"95236535-ec98-4541-b92a-adfa73b69eab",
"trace_id":"c7ab8365-903f-46d4-9403-0e5b551e3545"}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
NULL
|
NULL
|
NULL
|
NULL
|
|
16907
|
NULL
|
0
|
2026-05-11T09:40:14.517191+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778492414517_m2.jpg...
|
PhpStorm
|
faVsco.js – Client.php
|
1
|
NULL
|
monitor_2
|
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
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
2
67
3
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Services\Crm\Hubspot;
use HubSpot\Client\Crm\Deals\ApiException as DealApiException;
use HubSpot\Client\Crm\Contacts\ApiException as ContactApiException;
use HubSpot\Client\Crm\Companies\ApiException as CompanyApiException;
use HubSpot\Client\Crm\Contacts\Model\SimplePublicObjectWithAssociations as ContactsWithAssociations;
use HubSpot\Client\Crm\Companies\Model\SimplePublicObjectWithAssociations as CompaniesWithAssociations;
use HubSpot\Client\Crm\Deals\Model\SimplePublicObjectWithAssociations as DealWithAssociations;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectInput;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectWithAssociations as ObjectWithAssociations;
use HubSpot\Client\Crm\Pipelines\Model\Error;
use HubSpot\Client\Crm\Pipelines\Model\PipelineStage;
use HubSpot\Client\Crm\Properties\Model\Property;
use HubSpot\Discovery\Discovery;
use Jiminny\Exceptions\CrmException;
use Jiminny\Exceptions\RateLimitException;
use Jiminny\Exceptions\SocialAccountTokenInvalidException;
use Jiminny\Jobs\Crm\NoteObject;
use Jiminny\Models\Crm\Field;
use Jiminny\Services\Crm\BaseClient;
use Jiminny\Services\Crm\Hubspot\DTO\Response\Owner;
use Jiminny\Services\SocialAccountService;
use SevenShores\Hubspot\Exceptions\BadRequest;
use SevenShores\Hubspot\Exceptions\HubspotException;
use SevenShores\Hubspot\Factory;
use SevenShores\Hubspot\Http\Response;
use Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService;
use Illuminate\Support\Facades\Redis;
use Throwable;
/**
* @phpstan-type 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)
{
$cacheKey = $this->getRateLimitCacheKey();
$cachedRetryAfter = Redis::get($cacheKey);
if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {
throw new RateLimitException(
'Hubspot rate limit (cached circuit-breaker)',
(int) $cachedRetryAfter,
);
}
try {
return $apiCall();
} catch (Throwable $e) {
if ($this->isHubspotRateLimit($e)) {
$retryAfter = $this->parseRetryAfter($e);
Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);
$this->log->warning('[Hubspot] Received 429 from API', [
'team_id' => $this->config->team_id,
'config_id' => $this->config->getId(),
'retry_after' => $retryAfter,
'policy' => $this->parsePolicy($e),
'reason' => $e->getMessage(),
]);
throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);
}
throw $e;
}
}
private function getRateLimitCacheKey(): string
{
return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());
}
public function isHubspotRateLimit(Throwable $e): bool
{
if ($e instanceof BadRequest
|| $e instanceof DealApiException
|| $e instanceof ContactApiException
|| $e instanceof CompanyApiException
|| $e instanceof \GuzzleHttp\Exception\RequestException
) {
return (int) $e->getCode() === 429;
}
return false;
}
public 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;
}
}
$policy = $this->parsePolicy($e);
if ($policy === 'TEN_SECONDLY_ROLLING') {
return 10;
}
if ($policy === 'SECONDLY') {
return 1;
}
if ($policy === 'DAILY_LIMIT') {
return 600;
}
$this->log->warning('[Hubspot] No retry-after header or policy name found, using default', [
'exception_class' => get_class($e),
]);
return 10;
}
public function parsePolicy(Throwable $e): ?string
{
if (! method_exists($e, 'getResponseBody')) {
return null;
}
$body = $e->getResponseBody();
if (is_string($body)) {
$body = json_decode($body, true) ?? [];
}
if (! is_array($body)) {
return null;
}
$policy = $body['policyName'] ?? $body['policy'] ?? $body['context']['policyName'] ?? null;
return is_string($policy) ? strtoupper($policy) : null;
}
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
);
}
/**
* Execute a search request against HubSpot CRM objects with rate limiting.
*
* @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')
* @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.
* @return array The search response with 'results', 'total', 'paging' keys
* @throws RateLimitException When rate limit is hit
* @throws HubspotException On API errors
*/
public function search(string $objectType, array $payload): array
{
$endpoint = self::BASE_URL . "/crm/v3/objects/{$objectType}/search";
return $this->executeRequest(function () use ($endpoint, $payload) {
$response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);
return $response->toArray();
});
}
/**
* @throws DealApiException
* @throws CrmException
*/
public function getOpportunityById(string $crmId, array $fields): array
{
try {
// $deal = $this->executeRequest(fn () => $this->getNewInstance()->crm()->deals()->basicApi()->getById(
$deal = $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') {
return $this->getInstance()->getClient()?->request(
method: $method,
endpoint: $endpoint,
query_string: $queryString
);
} else {
return $this->getInstance()->getClient()->request($method, $endpoint, [
'json' => ($payload),
]);
}
}
/**
* @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 (RateLimitException $e) {
// throw $e;
} 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);
}
}
Sync Changes
Hide This Notification
Code changed:
Hide
19
Previous Highlighted Error
Next Highlighted Error
[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {
"headers":{
"Date":["Thu,07 May 2026 14:21:15 GMT"],
"Content-Type":["application/json;charset=utf-8"],
"Transfer-Encoding":["chunked"],
"Connection":["keep-alive"],
"CF-Ray":["9f80deb8db60dc3a-SOF"],
"CF-Cache-Status":["DYNAMIC"],
"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],
"Vary":["origin,
accept-encoding"],
"access-control-allow-credentials":["false"],
"server-timing":["hcid;desc=\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\",
cfr;desc=\"9f80deb8e7c6dc3a-IAD\""],
"x-content-type-options":["nosniff"],
"x-hubspot-correlation-id":["019e02d0-6fd8-7812-bdba-885b7ccb3ee3"],
"Set-Cookie":["__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-[IP_ADDRESS]-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,
07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None"],
"Report-To":["{
\"endpoints\":[{
\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\"}],
\"group\":\"cf-nel\",
\"max_age\":604800}"],
"NEL":["{
\"success_fraction\":0.01,
\"report_to\":\"cf-nel\",
\"max_age\":604800}"],
"Server":["cloudflare"]}} {
"correlation_id":"95236535-ec98-4541-b92a-adfa73b69eab",
"trace_id":"c7ab8365-903f-46d4-9403-0e5b551e3545"}
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":"JY-20725-handle-HS-search-rate-limit, menu","depth":5,"bounds":{"left":0.064494684,"top":0.019952115,"width":0.09541223,"height":0.025538707},"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,"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":"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.3650266,"top":0.22426178,"width":0.007978723,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"67","depth":4,"bounds":{"left":0.375,"top":0.22426178,"width":0.009973404,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXStaticText","text":"3","depth":4,"bounds":{"left":0.38696808,"top":0.22426178,"width":0.007978723,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.39660904,"top":0.22266561,"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.4039229,"top":0.22266561,"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":"<?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\\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 Illuminate\\Support\\Facades\\Redis;\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\n public function __construct(\n SocialAccountService $socialAccountService,\n HubspotPaginationService $paginationService,\n HubspotTokenManager $tokenManager\n ) {\n parent::__construct($socialAccountService);\n $this->paginationService = $paginationService;\n $this->tokenManager = $tokenManager;\n\n $this->setBaseUrl(self::BASE_URL);\n $this->setVersion(self::MIN_API_VERSION);\n }\n\n /**\n * Reacts to a rate limits (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 $cacheKey = $this->getRateLimitCacheKey();\n\n $cachedRetryAfter = Redis::get($cacheKey);\n if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {\n throw new RateLimitException(\n 'Hubspot rate limit (cached circuit-breaker)',\n (int) $cachedRetryAfter,\n );\n }\n\n try {\n return $apiCall();\n } catch (Throwable $e) {\n if ($this->isHubspotRateLimit($e)) {\n $retryAfter = $this->parseRetryAfter($e);\n\n Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);\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 'policy' => $this->parsePolicy($e),\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 getRateLimitCacheKey(): string\n {\n return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());\n }\n\n public function isHubspotRateLimit(Throwable $e): bool\n {\n if ($e instanceof BadRequest\n || $e instanceof DealApiException\n || $e instanceof ContactApiException\n || $e instanceof CompanyApiException\n || $e instanceof \\GuzzleHttp\\Exception\\RequestException\n ) {\n return (int) $e->getCode() === 429;\n }\n\n return false;\n }\n\n public 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 $policy = $this->parsePolicy($e);\n if ($policy === 'TEN_SECONDLY_ROLLING') {\n return 10;\n }\n if ($policy === 'SECONDLY') {\n return 1;\n }\n if ($policy === 'DAILY_LIMIT') {\n return 600;\n }\n\n $this->log->warning('[Hubspot] No retry-after header or policy name found, using default', [\n 'exception_class' => get_class($e),\n ]);\n\n return 10;\n }\n\n public function parsePolicy(Throwable $e): ?string\n {\n if (! method_exists($e, 'getResponseBody')) {\n return null;\n }\n\n $body = $e->getResponseBody();\n if (is_string($body)) {\n $body = json_decode($body, true) ?? [];\n }\n\n if (! is_array($body)) {\n return null;\n }\n\n $policy = $body['policyName'] ?? $body['policy'] ?? $body['context']['policyName'] ?? null;\n\n return is_string($policy) ? strtoupper($policy) : null;\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 * Execute a search request against HubSpot CRM objects with rate limiting.\n *\n * @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')\n * @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.\n * @return array The search response with 'results', 'total', 'paging' keys\n * @throws RateLimitException When rate limit is hit\n * @throws HubspotException On API errors\n */\n public function search(string $objectType, array $payload): array\n {\n $endpoint = self::BASE_URL . \"/crm/v3/objects/{$objectType}/search\";\n\n return $this->executeRequest(function () use ($endpoint, $payload) {\n $response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);\n\n return $response->toArray();\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 $deal = $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 return $this->getInstance()->getClient()?->request(\n method: $method,\n endpoint: $endpoint,\n query_string: $queryString\n );\n } else {\n return $this->getInstance()->getClient()->request($method, $endpoint, [\n 'json' => ($payload),\n ]);\n }\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 (RateLimitException $e) {\n// throw $e;\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\\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 Illuminate\\Support\\Facades\\Redis;\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\n public function __construct(\n SocialAccountService $socialAccountService,\n HubspotPaginationService $paginationService,\n HubspotTokenManager $tokenManager\n ) {\n parent::__construct($socialAccountService);\n $this->paginationService = $paginationService;\n $this->tokenManager = $tokenManager;\n\n $this->setBaseUrl(self::BASE_URL);\n $this->setVersion(self::MIN_API_VERSION);\n }\n\n /**\n * Reacts to a rate limits (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 $cacheKey = $this->getRateLimitCacheKey();\n\n $cachedRetryAfter = Redis::get($cacheKey);\n if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {\n throw new RateLimitException(\n 'Hubspot rate limit (cached circuit-breaker)',\n (int) $cachedRetryAfter,\n );\n }\n\n try {\n return $apiCall();\n } catch (Throwable $e) {\n if ($this->isHubspotRateLimit($e)) {\n $retryAfter = $this->parseRetryAfter($e);\n\n Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);\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 'policy' => $this->parsePolicy($e),\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 getRateLimitCacheKey(): string\n {\n return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());\n }\n\n public function isHubspotRateLimit(Throwable $e): bool\n {\n if ($e instanceof BadRequest\n || $e instanceof DealApiException\n || $e instanceof ContactApiException\n || $e instanceof CompanyApiException\n || $e instanceof \\GuzzleHttp\\Exception\\RequestException\n ) {\n return (int) $e->getCode() === 429;\n }\n\n return false;\n }\n\n public 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 $policy = $this->parsePolicy($e);\n if ($policy === 'TEN_SECONDLY_ROLLING') {\n return 10;\n }\n if ($policy === 'SECONDLY') {\n return 1;\n }\n if ($policy === 'DAILY_LIMIT') {\n return 600;\n }\n\n $this->log->warning('[Hubspot] No retry-after header or policy name found, using default', [\n 'exception_class' => get_class($e),\n ]);\n\n return 10;\n }\n\n public function parsePolicy(Throwable $e): ?string\n {\n if (! method_exists($e, 'getResponseBody')) {\n return null;\n }\n\n $body = $e->getResponseBody();\n if (is_string($body)) {\n $body = json_decode($body, true) ?? [];\n }\n\n if (! is_array($body)) {\n return null;\n }\n\n $policy = $body['policyName'] ?? $body['policy'] ?? $body['context']['policyName'] ?? null;\n\n return is_string($policy) ? strtoupper($policy) : null;\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 * Execute a search request against HubSpot CRM objects with rate limiting.\n *\n * @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')\n * @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.\n * @return array The search response with 'results', 'total', 'paging' keys\n * @throws RateLimitException When rate limit is hit\n * @throws HubspotException On API errors\n */\n public function search(string $objectType, array $payload): array\n {\n $endpoint = self::BASE_URL . \"/crm/v3/objects/{$objectType}/search\";\n\n return $this->executeRequest(function () use ($endpoint, $payload) {\n $response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);\n\n return $response->toArray();\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 $deal = $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 return $this->getInstance()->getClient()?->request(\n method: $method,\n endpoint: $endpoint,\n query_string: $queryString\n );\n } else {\n return $this->getInstance()->getClient()->request($method, $endpoint, [\n 'json' => ($payload),\n ]);\n }\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 (RateLimitException $e) {\n// throw $e;\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":"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":"19","depth":4,"bounds":{"left":0.6296542,"top":0.10055866,"width":0.009640957,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.6409575,"top":0.09896249,"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.64827126,"top":0.09896249,"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":"[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {\n\"headers\":{\n\"Date\":[\"Thu,07 May 2026 14:21:15 GMT\"],\n \"Content-Type\":[\"application/json;charset=utf-8\"],\n \"Transfer-Encoding\":[\"chunked\"],\n \"Connection\":[\"keep-alive\"],\n \"CF-Ray\":[\"9f80deb8db60dc3a-SOF\"],\n \"CF-Cache-Status\":[\"DYNAMIC\"],\n \"Strict-Transport-Security\":[\"max-age=31536000; includeSubDomains; preload\"],\n \"Vary\":[\"origin,\n accept-encoding\"],\n \"access-control-allow-credentials\":[\"false\"],\n \"server-timing\":[\"hcid;desc=\\\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\\\",\n cfr;desc=\\\"9f80deb8e7c6dc3a-IAD\\\"\"],\n \"x-content-type-options\":[\"nosniff\"],\n \"x-hubspot-correlation-id\":[\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\"],\n \"Set-Cookie\":[\"__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-1.0.1.1-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,\n 07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None\"],\n \"Report-To\":[\"{\n\\\"endpoints\\\":[{\n\\\"url\\\":\\\"https:\\\\/\\\\/a.nel.cloudflare.com\\\\/report\\\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\\\"}],\n\\\"group\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"NEL\":[\"{\n\\\"success_fraction\\\":0.01,\n\\\"report_to\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"Server\":[\"cloudflare\"]}} {\n\"correlation_id\":\"95236535-ec98-4541-b92a-adfa73b69eab\",\n\"trace_id\":\"c7ab8365-903f-46d4-9403-0e5b551e3545\"}","depth":4,"bounds":{"left":0.43018618,"top":0.09736632,"width":0.56981385,"height":0.8818835},"on_screen":true,"lines":[{"char_start":207,"char_count":30,"bounds":{"left":0.43018618,"top":0.0,"width":0.07513298,"height":0.014365523}},{"char_start":237,"char_count":36,"bounds":{"left":0.43018618,"top":0.0,"width":0.09075798,"height":0.014365523}},{"char_start":273,"char_count":32,"bounds":{"left":0.43018618,"top":0.0,"width":0.080119684,"height":0.014365523}},{"char_start":305,"char_count":79,"bounds":{"left":0.43018618,"top":0.0,"width":0.20212767,"height":0.014365523}},{"char_start":384,"char_count":18,"bounds":{"left":0.43018618,"top":0.0,"width":0.043882977,"height":0.014365523}},{"char_start":402,"char_count":21,"bounds":{"left":0.43018618,"top":0.0,"width":0.051861703,"height":0.014365523}},{"char_start":423,"char_count":48,"bounds":{"left":0.43018618,"top":0.008778931,"width":0.12167553,"height":0.014365523}},{"char_start":471,"char_count":72,"bounds":{"left":0.43018618,"top":0.026336791,"width":0.18384309,"height":0.014365523}},{"char_start":543,"char_count":40,"bounds":{"left":0.43018618,"top":0.043894652,"width":0.10106383,"height":0.014365523}},{"char_start":583,"char_count":41,"bounds":{"left":0.43018618,"top":0.061452515,"width":0.10372341,"height":0.014365523}},{"char_start":624,"char_count":72,"bounds":{"left":0.43018618,"top":0.079010375,"width":0.18384309,"height":0.014365523}},{"char_start":696,"char_count":219,"bounds":{"left":0.43018618,"top":0.096568234,"width":0.56515956,"height":0.014365523}},{"char_start":915,"char_count":83,"bounds":{"left":0.43018618,"top":0.11412609,"width":0.21243352,"height":0.014365523}},{"char_start":998,"char_count":20,"bounds":{"left":0.43018618,"top":0.13168396,"width":0.04920213,"height":0.014365523}},{"char_start":1018,"char_count":17,"bounds":{"left":0.43018618,"top":0.14924182,"width":0.041223403,"height":0.014365523}},{"char_start":1035,"char_count":203,"bounds":{"left":0.43018618,"top":0.16679968,"width":0.52360374,"height":0.014365523}},{"char_start":1238,"char_count":22,"bounds":{"left":0.43018618,"top":0.18435754,"width":0.05418883,"height":0.014365523}},{"char_start":1260,"char_count":23,"bounds":{"left":0.43018618,"top":0.2019154,"width":0.056848403,"height":0.014365523}},{"char_start":1283,"char_count":10,"bounds":{"left":0.43018618,"top":0.21947326,"width":0.023271276,"height":0.014365523}},{"char_start":1293,"char_count":27,"bounds":{"left":0.43018618,"top":0.23703113,"width":0.06715426,"height":0.014365523}},{"char_start":1320,"char_count":26,"bounds":{"left":0.43018618,"top":0.254589,"width":0.06482713,"height":0.014365523}},{"char_start":1346,"char_count":23,"bounds":{"left":0.43018618,"top":0.27214685,"width":0.056848403,"height":0.014365523}},{"char_start":1369,"char_count":28,"bounds":{"left":0.43018618,"top":0.2897047,"width":0.06981383,"height":0.014365523}},{"char_start":1397,"char_count":57,"bounds":{"left":0.43018618,"top":0.30726257,"width":0.14494681,"height":0.014365523}}],"value":"[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {\n\"headers\":{\n\"Date\":[\"Thu,07 May 2026 14:21:15 GMT\"],\n \"Content-Type\":[\"application/json;charset=utf-8\"],\n \"Transfer-Encoding\":[\"chunked\"],\n \"Connection\":[\"keep-alive\"],\n \"CF-Ray\":[\"9f80deb8db60dc3a-SOF\"],\n \"CF-Cache-Status\":[\"DYNAMIC\"],\n \"Strict-Transport-Security\":[\"max-age=31536000; includeSubDomains; preload\"],\n \"Vary\":[\"origin,\n accept-encoding\"],\n \"access-control-allow-credentials\":[\"false\"],\n \"server-timing\":[\"hcid;desc=\\\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\\\",\n cfr;desc=\\\"9f80deb8e7c6dc3a-IAD\\\"\"],\n \"x-content-type-options\":[\"nosniff\"],\n \"x-hubspot-correlation-id\":[\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\"],\n \"Set-Cookie\":[\"__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-1.0.1.1-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,\n 07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None\"],\n \"Report-To\":[\"{\n\\\"endpoints\\\":[{\n\\\"url\\\":\\\"https:\\\\/\\\\/a.nel.cloudflare.com\\\\/report\\\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\\\"}],\n\\\"group\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"NEL\":[\"{\n\\\"success_fraction\\\":0.01,\n\\\"report_to\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"Server\":[\"cloudflare\"]}} {\n\"correlation_id\":\"95236535-ec98-4541-b92a-adfa73b69eab\",\n\"trace_id\":\"c7ab8365-903f-46d4-9403-0e5b551e3545\"}","role_description":"text entry area","is_enabled":true,"is_focused":false,"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}]...
|
1512401689050609212
|
6666848987523188836
|
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
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Sync Changes
Hide This Notification
Code changed:
Hide
2
67
3
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Services\Crm\Hubspot;
use HubSpot\Client\Crm\Deals\ApiException as DealApiException;
use HubSpot\Client\Crm\Contacts\ApiException as ContactApiException;
use HubSpot\Client\Crm\Companies\ApiException as CompanyApiException;
use HubSpot\Client\Crm\Contacts\Model\SimplePublicObjectWithAssociations as ContactsWithAssociations;
use HubSpot\Client\Crm\Companies\Model\SimplePublicObjectWithAssociations as CompaniesWithAssociations;
use HubSpot\Client\Crm\Deals\Model\SimplePublicObjectWithAssociations as DealWithAssociations;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectInput;
use HubSpot\Client\Crm\Objects\Model\SimplePublicObjectWithAssociations as ObjectWithAssociations;
use HubSpot\Client\Crm\Pipelines\Model\Error;
use HubSpot\Client\Crm\Pipelines\Model\PipelineStage;
use HubSpot\Client\Crm\Properties\Model\Property;
use HubSpot\Discovery\Discovery;
use Jiminny\Exceptions\CrmException;
use Jiminny\Exceptions\RateLimitException;
use Jiminny\Exceptions\SocialAccountTokenInvalidException;
use Jiminny\Jobs\Crm\NoteObject;
use Jiminny\Models\Crm\Field;
use Jiminny\Services\Crm\BaseClient;
use Jiminny\Services\Crm\Hubspot\DTO\Response\Owner;
use Jiminny\Services\SocialAccountService;
use SevenShores\Hubspot\Exceptions\BadRequest;
use SevenShores\Hubspot\Exceptions\HubspotException;
use SevenShores\Hubspot\Factory;
use SevenShores\Hubspot\Http\Response;
use Jiminny\Services\Crm\Hubspot\Pagination\HubspotPaginationService;
use Illuminate\Support\Facades\Redis;
use Throwable;
/**
* @phpstan-type 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)
{
$cacheKey = $this->getRateLimitCacheKey();
$cachedRetryAfter = Redis::get($cacheKey);
if (is_string($cachedRetryAfter) && is_numeric($cachedRetryAfter)) {
throw new RateLimitException(
'Hubspot rate limit (cached circuit-breaker)',
(int) $cachedRetryAfter,
);
}
try {
return $apiCall();
} catch (Throwable $e) {
if ($this->isHubspotRateLimit($e)) {
$retryAfter = $this->parseRetryAfter($e);
Redis::setex($cacheKey, $retryAfter, (string) $retryAfter);
$this->log->warning('[Hubspot] Received 429 from API', [
'team_id' => $this->config->team_id,
'config_id' => $this->config->getId(),
'retry_after' => $retryAfter,
'policy' => $this->parsePolicy($e),
'reason' => $e->getMessage(),
]);
throw new RateLimitException('Hubspot returned 429', $retryAfter, $e);
}
throw $e;
}
}
private function getRateLimitCacheKey(): string
{
return sprintf('hubspot:ratelimit:portal:%d', $this->config->getId());
}
public function isHubspotRateLimit(Throwable $e): bool
{
if ($e instanceof BadRequest
|| $e instanceof DealApiException
|| $e instanceof ContactApiException
|| $e instanceof CompanyApiException
|| $e instanceof \GuzzleHttp\Exception\RequestException
) {
return (int) $e->getCode() === 429;
}
return false;
}
public 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;
}
}
$policy = $this->parsePolicy($e);
if ($policy === 'TEN_SECONDLY_ROLLING') {
return 10;
}
if ($policy === 'SECONDLY') {
return 1;
}
if ($policy === 'DAILY_LIMIT') {
return 600;
}
$this->log->warning('[Hubspot] No retry-after header or policy name found, using default', [
'exception_class' => get_class($e),
]);
return 10;
}
public function parsePolicy(Throwable $e): ?string
{
if (! method_exists($e, 'getResponseBody')) {
return null;
}
$body = $e->getResponseBody();
if (is_string($body)) {
$body = json_decode($body, true) ?? [];
}
if (! is_array($body)) {
return null;
}
$policy = $body['policyName'] ?? $body['policy'] ?? $body['context']['policyName'] ?? null;
return is_string($policy) ? strtoupper($policy) : null;
}
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
);
}
/**
* Execute a search request against HubSpot CRM objects with rate limiting.
*
* @param string $objectType The object type ('deals', 'companies', 'contacts', 'calls')
* @param array<string, mixed> $payload The search payload with filters, sorts, properties, etc.
* @return array The search response with 'results', 'total', 'paging' keys
* @throws RateLimitException When rate limit is hit
* @throws HubspotException On API errors
*/
public function search(string $objectType, array $payload): array
{
$endpoint = self::BASE_URL . "/crm/v3/objects/{$objectType}/search";
return $this->executeRequest(function () use ($endpoint, $payload) {
$response = $this->getInstance()->getClient()->request('POST', $endpoint, ['json' => $payload]);
return $response->toArray();
});
}
/**
* @throws DealApiException
* @throws CrmException
*/
public function getOpportunityById(string $crmId, array $fields): array
{
try {
// $deal = $this->executeRequest(fn () => $this->getNewInstance()->crm()->deals()->basicApi()->getById(
$deal = $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') {
return $this->getInstance()->getClient()?->request(
method: $method,
endpoint: $endpoint,
query_string: $queryString
);
} else {
return $this->getInstance()->getClient()->request($method, $endpoint, [
'json' => ($payload),
]);
}
}
/**
* @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 (RateLimitException $e) {
// throw $e;
} 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);
}
}
Sync Changes
Hide This Notification
Code changed:
Hide
19
Previous Highlighted Error
Next Highlighted Error
[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {
"headers":{
"Date":["Thu,07 May 2026 14:21:15 GMT"],
"Content-Type":["application/json;charset=utf-8"],
"Transfer-Encoding":["chunked"],
"Connection":["keep-alive"],
"CF-Ray":["9f80deb8db60dc3a-SOF"],
"CF-Cache-Status":["DYNAMIC"],
"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],
"Vary":["origin,
accept-encoding"],
"access-control-allow-credentials":["false"],
"server-timing":["hcid;desc=\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\",
cfr;desc=\"9f80deb8e7c6dc3a-IAD\""],
"x-content-type-options":["nosniff"],
"x-hubspot-correlation-id":["019e02d0-6fd8-7812-bdba-885b7ccb3ee3"],
"Set-Cookie":["__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-[IP_ADDRESS]-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,
07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None"],
"Report-To":["{
\"endpoints\":[{
\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\"}],
\"group\":\"cf-nel\",
\"max_age\":604800}"],
"NEL":["{
\"success_fraction\":0.01,
\"report_to\":\"cf-nel\",
\"max_age\":604800}"],
"Server":["cloudflare"]}} {
"correlation_id":"95236535-ec98-4541-b92a-adfa73b69eab",
"trace_id":"c7ab8365-903f-46d4-9403-0e5b551e3545"}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
16906
|
NULL
|
NULL
|
NULL
|
|
16847
|
NULL
|
0
|
2026-05-11T09:35:21.708839+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778492121708_m2.jpg...
|
PhpStorm
|
faVsco.js – custom.log
|
1
|
NULL
|
monitor_2
|
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
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
2
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Jobs\Crm\Delete;
use Illuminate\Events\Dispatcher;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Jiminny\Enums\CrmObject;
use Jiminny\Events\Crm\DetachActivityObject;
use Jiminny\Models\Activity;
use Psr\Log\LoggerInterface;
use Throwable;
trait DeleteCrmEntityTrait
{
public int $tries = 3;
public function timeout(): int
{
return 300; // 5 minutes
}
public function backoff(): array
{
return [30, 90, 180]; // 30 seconds, 1.5 minutes, 3 minutes
}
protected function handleActivities(
Collection $activities,
Dispatcher $dispatcher,
LoggerInterface $logger,
bool $emitEvent = true,
): void {
if ($activities->isEmpty()) {
return;
}
$crmObject = $this->getEntityType();
$entityIdField = $crmObject->value . '_id';
$activities->each(
function (Activity $activity) use ($dispatcher, $logger, $entityIdField, $crmObject, $emitEvent): void {
$stageId = $activity->getStage()?->getId();
$logData = [
$crmObject->value => $this->id,
'activity' => $activity->getId(),
'emitEvent' => $emitEvent,
];
$updateData = [
$entityIdField => null,
];
// For leads and opportunities, also nullify the stage_id
if ($stageId && in_array($crmObject, [CrmObject::LEAD, CrmObject::OPPORTUNITY], true)) {
$updateData['stage_id'] = null;
$logData['stage_id'] = $stageId;
}
$activity->update($updateData);
if ($emitEvent) {
$dispatcher->dispatch(new DetachActivityObject($activity, $crmObject));
}
$logger->info($this->getLogPrefix() . ' Detach from activity', $logData);
// Dispatch job to verify if CRM task/event still exists
if ($activity->hasCrmProviderId()) {
VerifyActivityCrmTaskJob::dispatch($activity->getId());
}
}
);
}
public function failed(Throwable $exception): void
{
$crmObject = $this->getEntityType();
Log::critical($this->getLogPrefix() . ' Job failed permanently', [
$crmObject->value => $this->id,
'exception' => $exception->getMessage(),
]);
}
// Abstract methods that must be implemented by the using class
abstract protected function getLogPrefix(): string;
abstract protected function getEntityType(): CrmObject;
}
Sync Changes
Hide This Notification
Code changed:
Hide
19
Previous Highlighted Error
Next Highlighted Error
[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {
"headers":{
"Date":["Thu,07 May 2026 14:21:15 GMT"],
"Content-Type":["application/json;charset=utf-8"],
"Transfer-Encoding":["chunked"],
"Connection":["keep-alive"],
"CF-Ray":["9f80deb8db60dc3a-SOF"],
"CF-Cache-Status":["DYNAMIC"],
"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],
"Vary":["origin,
accept-encoding"],
"access-control-allow-credentials":["false"],
"server-timing":["hcid;desc=\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\",
cfr;desc=\"9f80deb8e7c6dc3a-IAD\""],
"x-content-type-options":["nosniff"],
"x-hubspot-correlation-id":["019e02d0-6fd8-7812-bdba-885b7ccb3ee3"],
"Set-Cookie":["__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-[IP_ADDRESS]-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,
07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None"],
"Report-To":["{
\"endpoints\":[{
\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\"}],
\"group\":\"cf-nel\",
\"max_age\":604800}"],
"NEL":["{
\"success_fraction\":0.01,
\"report_to\":\"cf-nel\",
\"max_age\":604800}"],
"Server":["cloudflare"]}} {
"correlation_id":"95236535-ec98-4541-b92a-adfa73b69eab",
"trace_id":"c7ab8365-903f-46d4-9403-0e5b551e3545"}
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":"JY-20725-handle-HS-search-rate-limit, menu","depth":5,"bounds":{"left":0.064494684,"top":0.019952115,"width":0.09541223,"height":0.025538707},"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,"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":"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":"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":"AXStaticText","text":"2","depth":4,"bounds":{"left":0.38696808,"top":0.22426178,"width":0.007978723,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.39660904,"top":0.22266561,"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.4039229,"top":0.22266561,"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":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Jobs\\Crm\\Delete;\n\nuse Illuminate\\Events\\Dispatcher;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Jiminny\\Enums\\CrmObject;\nuse Jiminny\\Events\\Crm\\DetachActivityObject;\nuse Jiminny\\Models\\Activity;\nuse Psr\\Log\\LoggerInterface;\nuse Throwable;\n\ntrait DeleteCrmEntityTrait\n{\n public int $tries = 3;\n\n public function timeout(): int\n {\n return 300; // 5 minutes\n }\n\n public function backoff(): array\n {\n return [30, 90, 180]; // 30 seconds, 1.5 minutes, 3 minutes\n }\n\n protected function handleActivities(\n Collection $activities,\n Dispatcher $dispatcher,\n LoggerInterface $logger,\n bool $emitEvent = true,\n ): void {\n if ($activities->isEmpty()) {\n return;\n }\n\n $crmObject = $this->getEntityType();\n $entityIdField = $crmObject->value . '_id';\n\n $activities->each(\n function (Activity $activity) use ($dispatcher, $logger, $entityIdField, $crmObject, $emitEvent): void {\n $stageId = $activity->getStage()?->getId();\n\n $logData = [\n $crmObject->value => $this->id,\n 'activity' => $activity->getId(),\n 'emitEvent' => $emitEvent,\n ];\n\n $updateData = [\n $entityIdField => null,\n ];\n\n // For leads and opportunities, also nullify the stage_id\n if ($stageId && in_array($crmObject, [CrmObject::LEAD, CrmObject::OPPORTUNITY], true)) {\n $updateData['stage_id'] = null;\n $logData['stage_id'] = $stageId;\n }\n\n $activity->update($updateData);\n\n if ($emitEvent) {\n $dispatcher->dispatch(new DetachActivityObject($activity, $crmObject));\n }\n\n $logger->info($this->getLogPrefix() . ' Detach from activity', $logData);\n\n // Dispatch job to verify if CRM task/event still exists\n if ($activity->hasCrmProviderId()) {\n VerifyActivityCrmTaskJob::dispatch($activity->getId());\n }\n }\n );\n }\n\n public function failed(Throwable $exception): void\n {\n $crmObject = $this->getEntityType();\n\n Log::critical($this->getLogPrefix() . ' Job failed permanently', [\n $crmObject->value => $this->id,\n 'exception' => $exception->getMessage(),\n ]);\n }\n\n // Abstract methods that must be implemented by the using class\n abstract protected function getLogPrefix(): string;\n abstract protected function getEntityType(): CrmObject;\n}","depth":4,"on_screen":true,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Jobs\\Crm\\Delete;\n\nuse Illuminate\\Events\\Dispatcher;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Jiminny\\Enums\\CrmObject;\nuse Jiminny\\Events\\Crm\\DetachActivityObject;\nuse Jiminny\\Models\\Activity;\nuse Psr\\Log\\LoggerInterface;\nuse Throwable;\n\ntrait DeleteCrmEntityTrait\n{\n public int $tries = 3;\n\n public function timeout(): int\n {\n return 300; // 5 minutes\n }\n\n public function backoff(): array\n {\n return [30, 90, 180]; // 30 seconds, 1.5 minutes, 3 minutes\n }\n\n protected function handleActivities(\n Collection $activities,\n Dispatcher $dispatcher,\n LoggerInterface $logger,\n bool $emitEvent = true,\n ): void {\n if ($activities->isEmpty()) {\n return;\n }\n\n $crmObject = $this->getEntityType();\n $entityIdField = $crmObject->value . '_id';\n\n $activities->each(\n function (Activity $activity) use ($dispatcher, $logger, $entityIdField, $crmObject, $emitEvent): void {\n $stageId = $activity->getStage()?->getId();\n\n $logData = [\n $crmObject->value => $this->id,\n 'activity' => $activity->getId(),\n 'emitEvent' => $emitEvent,\n ];\n\n $updateData = [\n $entityIdField => null,\n ];\n\n // For leads and opportunities, also nullify the stage_id\n if ($stageId && in_array($crmObject, [CrmObject::LEAD, CrmObject::OPPORTUNITY], true)) {\n $updateData['stage_id'] = null;\n $logData['stage_id'] = $stageId;\n }\n\n $activity->update($updateData);\n\n if ($emitEvent) {\n $dispatcher->dispatch(new DetachActivityObject($activity, $crmObject));\n }\n\n $logger->info($this->getLogPrefix() . ' Detach from activity', $logData);\n\n // Dispatch job to verify if CRM task/event still exists\n if ($activity->hasCrmProviderId()) {\n VerifyActivityCrmTaskJob::dispatch($activity->getId());\n }\n }\n );\n }\n\n public function failed(Throwable $exception): void\n {\n $crmObject = $this->getEntityType();\n\n Log::critical($this->getLogPrefix() . ' Job failed permanently', [\n $crmObject->value => $this->id,\n 'exception' => $exception->getMessage(),\n ]);\n }\n\n // Abstract methods that must be implemented by the using class\n abstract protected function getLogPrefix(): string;\n abstract protected function getEntityType(): CrmObject;\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.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":"19","depth":4,"bounds":{"left":0.6296542,"top":0.10055866,"width":0.009640957,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.6409575,"top":0.09896249,"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.64827126,"top":0.09896249,"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":"[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {\n\"headers\":{\n\"Date\":[\"Thu,07 May 2026 14:21:15 GMT\"],\n \"Content-Type\":[\"application/json;charset=utf-8\"],\n \"Transfer-Encoding\":[\"chunked\"],\n \"Connection\":[\"keep-alive\"],\n \"CF-Ray\":[\"9f80deb8db60dc3a-SOF\"],\n \"CF-Cache-Status\":[\"DYNAMIC\"],\n \"Strict-Transport-Security\":[\"max-age=31536000; includeSubDomains; preload\"],\n \"Vary\":[\"origin,\n accept-encoding\"],\n \"access-control-allow-credentials\":[\"false\"],\n \"server-timing\":[\"hcid;desc=\\\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\\\",\n cfr;desc=\\\"9f80deb8e7c6dc3a-IAD\\\"\"],\n \"x-content-type-options\":[\"nosniff\"],\n \"x-hubspot-correlation-id\":[\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\"],\n \"Set-Cookie\":[\"__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-1.0.1.1-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,\n 07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None\"],\n \"Report-To\":[\"{\n\\\"endpoints\\\":[{\n\\\"url\\\":\\\"https:\\\\/\\\\/a.nel.cloudflare.com\\\\/report\\\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\\\"}],\n\\\"group\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"NEL\":[\"{\n\\\"success_fraction\\\":0.01,\n\\\"report_to\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"Server\":[\"cloudflare\"]}} {\n\"correlation_id\":\"95236535-ec98-4541-b92a-adfa73b69eab\",\n\"trace_id\":\"c7ab8365-903f-46d4-9403-0e5b551e3545\"}","depth":4,"bounds":{"left":0.42918882,"top":0.09736632,"width":0.57081115,"height":0.8818835},"on_screen":true,"lines":[{"char_start":207,"char_count":30,"bounds":{"left":0.42918882,"top":0.0,"width":0.07513298,"height":0.014365523}},{"char_start":237,"char_count":36,"bounds":{"left":0.42918882,"top":0.0,"width":0.09075798,"height":0.014365523}},{"char_start":273,"char_count":32,"bounds":{"left":0.42918882,"top":0.0,"width":0.080119684,"height":0.014365523}},{"char_start":305,"char_count":79,"bounds":{"left":0.42918882,"top":0.0,"width":0.20212767,"height":0.014365523}},{"char_start":384,"char_count":18,"bounds":{"left":0.42918882,"top":0.0,"width":0.043882977,"height":0.014365523}},{"char_start":402,"char_count":21,"bounds":{"left":0.42918882,"top":0.0,"width":0.051861703,"height":0.014365523}},{"char_start":423,"char_count":48,"bounds":{"left":0.42918882,"top":0.008778931,"width":0.12167553,"height":0.014365523}},{"char_start":471,"char_count":72,"bounds":{"left":0.42918882,"top":0.026336791,"width":0.18384309,"height":0.014365523}},{"char_start":543,"char_count":40,"bounds":{"left":0.42918882,"top":0.043894652,"width":0.10106383,"height":0.014365523}},{"char_start":583,"char_count":41,"bounds":{"left":0.42918882,"top":0.061452515,"width":0.10372341,"height":0.014365523}},{"char_start":624,"char_count":72,"bounds":{"left":0.42918882,"top":0.079010375,"width":0.18384309,"height":0.014365523}},{"char_start":696,"char_count":219,"bounds":{"left":0.42918882,"top":0.096568234,"width":0.56515956,"height":0.014365523}},{"char_start":915,"char_count":83,"bounds":{"left":0.42918882,"top":0.11412609,"width":0.21243352,"height":0.014365523}},{"char_start":998,"char_count":20,"bounds":{"left":0.42918882,"top":0.13168396,"width":0.04920213,"height":0.014365523}},{"char_start":1018,"char_count":17,"bounds":{"left":0.42918882,"top":0.14924182,"width":0.041223403,"height":0.014365523}},{"char_start":1035,"char_count":203,"bounds":{"left":0.42918882,"top":0.16679968,"width":0.52360374,"height":0.014365523}},{"char_start":1238,"char_count":22,"bounds":{"left":0.42918882,"top":0.18435754,"width":0.05418883,"height":0.014365523}},{"char_start":1260,"char_count":23,"bounds":{"left":0.42918882,"top":0.2019154,"width":0.056848403,"height":0.014365523}},{"char_start":1283,"char_count":10,"bounds":{"left":0.42918882,"top":0.21947326,"width":0.023271276,"height":0.014365523}},{"char_start":1293,"char_count":27,"bounds":{"left":0.42918882,"top":0.23703113,"width":0.06715426,"height":0.014365523}},{"char_start":1320,"char_count":26,"bounds":{"left":0.42918882,"top":0.254589,"width":0.06482713,"height":0.014365523}},{"char_start":1346,"char_count":23,"bounds":{"left":0.42918882,"top":0.27214685,"width":0.056848403,"height":0.014365523}},{"char_start":1369,"char_count":28,"bounds":{"left":0.42918882,"top":0.2897047,"width":0.06981383,"height":0.014365523}},{"char_start":1397,"char_count":57,"bounds":{"left":0.42918882,"top":0.30726257,"width":0.14494681,"height":0.014365523}}],"value":"[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {\n\"headers\":{\n\"Date\":[\"Thu,07 May 2026 14:21:15 GMT\"],\n \"Content-Type\":[\"application/json;charset=utf-8\"],\n \"Transfer-Encoding\":[\"chunked\"],\n \"Connection\":[\"keep-alive\"],\n \"CF-Ray\":[\"9f80deb8db60dc3a-SOF\"],\n \"CF-Cache-Status\":[\"DYNAMIC\"],\n \"Strict-Transport-Security\":[\"max-age=31536000; includeSubDomains; preload\"],\n \"Vary\":[\"origin,\n accept-encoding\"],\n \"access-control-allow-credentials\":[\"false\"],\n \"server-timing\":[\"hcid;desc=\\\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\\\",\n cfr;desc=\\\"9f80deb8e7c6dc3a-IAD\\\"\"],\n \"x-content-type-options\":[\"nosniff\"],\n \"x-hubspot-correlation-id\":[\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\"],\n \"Set-Cookie\":[\"__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-1.0.1.1-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,\n 07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None\"],\n \"Report-To\":[\"{\n\\\"endpoints\\\":[{\n\\\"url\\\":\\\"https:\\\\/\\\\/a.nel.cloudflare.com\\\\/report\\\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\\\"}],\n\\\"group\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"NEL\":[\"{\n\\\"success_fraction\\\":0.01,\n\\\"report_to\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"Server\":[\"cloudflare\"]}} {\n\"correlation_id\":\"95236535-ec98-4541-b92a-adfa73b69eab\",\n\"trace_id\":\"c7ab8365-903f-46d4-9403-0e5b551e3545\"}","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}]...
|
3191170991068695078
|
-2489294891750393478
|
idle
|
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
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
2
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Jobs\Crm\Delete;
use Illuminate\Events\Dispatcher;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Jiminny\Enums\CrmObject;
use Jiminny\Events\Crm\DetachActivityObject;
use Jiminny\Models\Activity;
use Psr\Log\LoggerInterface;
use Throwable;
trait DeleteCrmEntityTrait
{
public int $tries = 3;
public function timeout(): int
{
return 300; // 5 minutes
}
public function backoff(): array
{
return [30, 90, 180]; // 30 seconds, 1.5 minutes, 3 minutes
}
protected function handleActivities(
Collection $activities,
Dispatcher $dispatcher,
LoggerInterface $logger,
bool $emitEvent = true,
): void {
if ($activities->isEmpty()) {
return;
}
$crmObject = $this->getEntityType();
$entityIdField = $crmObject->value . '_id';
$activities->each(
function (Activity $activity) use ($dispatcher, $logger, $entityIdField, $crmObject, $emitEvent): void {
$stageId = $activity->getStage()?->getId();
$logData = [
$crmObject->value => $this->id,
'activity' => $activity->getId(),
'emitEvent' => $emitEvent,
];
$updateData = [
$entityIdField => null,
];
// For leads and opportunities, also nullify the stage_id
if ($stageId && in_array($crmObject, [CrmObject::LEAD, CrmObject::OPPORTUNITY], true)) {
$updateData['stage_id'] = null;
$logData['stage_id'] = $stageId;
}
$activity->update($updateData);
if ($emitEvent) {
$dispatcher->dispatch(new DetachActivityObject($activity, $crmObject));
}
$logger->info($this->getLogPrefix() . ' Detach from activity', $logData);
// Dispatch job to verify if CRM task/event still exists
if ($activity->hasCrmProviderId()) {
VerifyActivityCrmTaskJob::dispatch($activity->getId());
}
}
);
}
public function failed(Throwable $exception): void
{
$crmObject = $this->getEntityType();
Log::critical($this->getLogPrefix() . ' Job failed permanently', [
$crmObject->value => $this->id,
'exception' => $exception->getMessage(),
]);
}
// Abstract methods that must be implemented by the using class
abstract protected function getLogPrefix(): string;
abstract protected function getEntityType(): CrmObject;
}
Sync Changes
Hide This Notification
Code changed:
Hide
19
Previous Highlighted Error
Next Highlighted Error
[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {
"headers":{
"Date":["Thu,07 May 2026 14:21:15 GMT"],
"Content-Type":["application/json;charset=utf-8"],
"Transfer-Encoding":["chunked"],
"Connection":["keep-alive"],
"CF-Ray":["9f80deb8db60dc3a-SOF"],
"CF-Cache-Status":["DYNAMIC"],
"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],
"Vary":["origin,
accept-encoding"],
"access-control-allow-credentials":["false"],
"server-timing":["hcid;desc=\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\",
cfr;desc=\"9f80deb8e7c6dc3a-IAD\""],
"x-content-type-options":["nosniff"],
"x-hubspot-correlation-id":["019e02d0-6fd8-7812-bdba-885b7ccb3ee3"],
"Set-Cookie":["__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-[IP_ADDRESS]-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,
07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None"],
"Report-To":["{
\"endpoints\":[{
\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\"}],
\"group\":\"cf-nel\",
\"max_age\":604800}"],
"NEL":["{
\"success_fraction\":0.01,
\"report_to\":\"cf-nel\",
\"max_age\":604800}"],
"Server":["cloudflare"]}} {
"correlation_id":"95236535-ec98-4541-b92a-adfa73b69eab",
"trace_id":"c7ab8365-903f-46d4-9403-0e5b551e3545"}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
16842
|
NULL
|
NULL
|
NULL
|
|
16846
|
NULL
|
0
|
2026-05-11T09:35:21.676335+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778492121676_m1.jpg...
|
PhpStorm
|
faVsco.js – custom.log
|
1
|
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
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
2
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Jobs\Crm\Delete;
use Illuminate\Events\Dispatcher;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Jiminny\Enums\CrmObject;
use Jiminny\Events\Crm\DetachActivityObject;
use Jiminny\Models\Activity;
use Psr\Log\LoggerInterface;
use Throwable;
trait DeleteCrmEntityTrait
{
public int $tries = 3;
public function timeout(): int
{
return 300; // 5 minutes
}
public function backoff(): array
{
return [30, 90, 180]; // 30 seconds, 1.5 minutes, 3 minutes
}
protected function handleActivities(
Collection $activities,
Dispatcher $dispatcher,
LoggerInterface $logger,
bool $emitEvent = true,
): void {
if ($activities->isEmpty()) {
return;
}
$crmObject = $this->getEntityType();
$entityIdField = $crmObject->value . '_id';
$activities->each(
function (Activity $activity) use ($dispatcher, $logger, $entityIdField, $crmObject, $emitEvent): void {
$stageId = $activity->getStage()?->getId();
$logData = [
$crmObject->value => $this->id,
'activity' => $activity->getId(),
'emitEvent' => $emitEvent,
];
$updateData = [
$entityIdField => null,
];
// For leads and opportunities, also nullify the stage_id
if ($stageId && in_array($crmObject, [CrmObject::LEAD, CrmObject::OPPORTUNITY], true)) {
$updateData['stage_id'] = null;
$logData['stage_id'] = $stageId;
}
$activity->update($updateData);
if ($emitEvent) {
$dispatcher->dispatch(new DetachActivityObject($activity, $crmObject));
}
$logger->info($this->getLogPrefix() . ' Detach from activity', $logData);
// Dispatch job to verify if CRM task/event still exists
if ($activity->hasCrmProviderId()) {
VerifyActivityCrmTaskJob::dispatch($activity->getId());
}
}
);
}
public function failed(Throwable $exception): void
{
$crmObject = $this->getEntityType();
Log::critical($this->getLogPrefix() . ' Job failed permanently', [
$crmObject->value => $this->id,
'exception' => $exception->getMessage(),
]);
}
// Abstract methods that must be implemented by the using class
abstract protected function getLogPrefix(): string;
abstract protected function getEntityType(): CrmObject;
}
Sync Changes
Hide This Notification
Code changed:
Hide
19
Previous Highlighted Error
Next Highlighted Error
[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {
"headers":{
"Date":["Thu,07 May 2026 14:21:15 GMT"],
"Content-Type":["application/json;charset=utf-8"],
"Transfer-Encoding":["chunked"],
"Connection":["keep-alive"],
"CF-Ray":["9f80deb8db60dc3a-SOF"],
"CF-Cache-Status":["DYNAMIC"],
"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],
"Vary":["origin,
accept-encoding"],
"access-control-allow-credentials":["false"],
"server-timing":["hcid;desc=\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\",
cfr;desc=\"9f80deb8e7c6dc3a-IAD\""],
"x-content-type-options":["nosniff"],
"x-hubspot-correlation-id":["019e02d0-6fd8-7812-bdba-885b7ccb3ee3"],
"Set-Cookie":["__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-[IP_ADDRESS]-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,
07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None"],
"Report-To":["{
\"endpoints\":[{
\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\"}],
\"group\":\"cf-nel\",
\"max_age\":604800}"],
"NEL":["{
\"success_fraction\":0.01,
\"report_to\":\"cf-nel\",
\"max_age\":604800}"],
"Server":["cloudflare"]}} {
"correlation_id":"95236535-ec98-4541-b92a-adfa73b69eab",
"trace_id":"c7ab8365-903f-46d4-9403-0e5b551e3545"}
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":"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":"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":"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":"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":"AXStaticText","text":"2","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\\Jobs\\Crm\\Delete;\n\nuse Illuminate\\Events\\Dispatcher;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Jiminny\\Enums\\CrmObject;\nuse Jiminny\\Events\\Crm\\DetachActivityObject;\nuse Jiminny\\Models\\Activity;\nuse Psr\\Log\\LoggerInterface;\nuse Throwable;\n\ntrait DeleteCrmEntityTrait\n{\n public int $tries = 3;\n\n public function timeout(): int\n {\n return 300; // 5 minutes\n }\n\n public function backoff(): array\n {\n return [30, 90, 180]; // 30 seconds, 1.5 minutes, 3 minutes\n }\n\n protected function handleActivities(\n Collection $activities,\n Dispatcher $dispatcher,\n LoggerInterface $logger,\n bool $emitEvent = true,\n ): void {\n if ($activities->isEmpty()) {\n return;\n }\n\n $crmObject = $this->getEntityType();\n $entityIdField = $crmObject->value . '_id';\n\n $activities->each(\n function (Activity $activity) use ($dispatcher, $logger, $entityIdField, $crmObject, $emitEvent): void {\n $stageId = $activity->getStage()?->getId();\n\n $logData = [\n $crmObject->value => $this->id,\n 'activity' => $activity->getId(),\n 'emitEvent' => $emitEvent,\n ];\n\n $updateData = [\n $entityIdField => null,\n ];\n\n // For leads and opportunities, also nullify the stage_id\n if ($stageId && in_array($crmObject, [CrmObject::LEAD, CrmObject::OPPORTUNITY], true)) {\n $updateData['stage_id'] = null;\n $logData['stage_id'] = $stageId;\n }\n\n $activity->update($updateData);\n\n if ($emitEvent) {\n $dispatcher->dispatch(new DetachActivityObject($activity, $crmObject));\n }\n\n $logger->info($this->getLogPrefix() . ' Detach from activity', $logData);\n\n // Dispatch job to verify if CRM task/event still exists\n if ($activity->hasCrmProviderId()) {\n VerifyActivityCrmTaskJob::dispatch($activity->getId());\n }\n }\n );\n }\n\n public function failed(Throwable $exception): void\n {\n $crmObject = $this->getEntityType();\n\n Log::critical($this->getLogPrefix() . ' Job failed permanently', [\n $crmObject->value => $this->id,\n 'exception' => $exception->getMessage(),\n ]);\n }\n\n // Abstract methods that must be implemented by the using class\n abstract protected function getLogPrefix(): string;\n abstract protected function getEntityType(): CrmObject;\n}","depth":4,"on_screen":true,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Jobs\\Crm\\Delete;\n\nuse Illuminate\\Events\\Dispatcher;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Jiminny\\Enums\\CrmObject;\nuse Jiminny\\Events\\Crm\\DetachActivityObject;\nuse Jiminny\\Models\\Activity;\nuse Psr\\Log\\LoggerInterface;\nuse Throwable;\n\ntrait DeleteCrmEntityTrait\n{\n public int $tries = 3;\n\n public function timeout(): int\n {\n return 300; // 5 minutes\n }\n\n public function backoff(): array\n {\n return [30, 90, 180]; // 30 seconds, 1.5 minutes, 3 minutes\n }\n\n protected function handleActivities(\n Collection $activities,\n Dispatcher $dispatcher,\n LoggerInterface $logger,\n bool $emitEvent = true,\n ): void {\n if ($activities->isEmpty()) {\n return;\n }\n\n $crmObject = $this->getEntityType();\n $entityIdField = $crmObject->value . '_id';\n\n $activities->each(\n function (Activity $activity) use ($dispatcher, $logger, $entityIdField, $crmObject, $emitEvent): void {\n $stageId = $activity->getStage()?->getId();\n\n $logData = [\n $crmObject->value => $this->id,\n 'activity' => $activity->getId(),\n 'emitEvent' => $emitEvent,\n ];\n\n $updateData = [\n $entityIdField => null,\n ];\n\n // For leads and opportunities, also nullify the stage_id\n if ($stageId && in_array($crmObject, [CrmObject::LEAD, CrmObject::OPPORTUNITY], true)) {\n $updateData['stage_id'] = null;\n $logData['stage_id'] = $stageId;\n }\n\n $activity->update($updateData);\n\n if ($emitEvent) {\n $dispatcher->dispatch(new DetachActivityObject($activity, $crmObject));\n }\n\n $logger->info($this->getLogPrefix() . ' Detach from activity', $logData);\n\n // Dispatch job to verify if CRM task/event still exists\n if ($activity->hasCrmProviderId()) {\n VerifyActivityCrmTaskJob::dispatch($activity->getId());\n }\n }\n );\n }\n\n public function failed(Throwable $exception): void\n {\n $crmObject = $this->getEntityType();\n\n Log::critical($this->getLogPrefix() . ' Job failed permanently', [\n $crmObject->value => $this->id,\n 'exception' => $exception->getMessage(),\n ]);\n }\n\n // Abstract methods that must be implemented by the using class\n abstract protected function getLogPrefix(): string;\n abstract protected function getEntityType(): CrmObject;\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":"19","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-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {\n\"headers\":{\n\"Date\":[\"Thu,07 May 2026 14:21:15 GMT\"],\n \"Content-Type\":[\"application/json;charset=utf-8\"],\n \"Transfer-Encoding\":[\"chunked\"],\n \"Connection\":[\"keep-alive\"],\n \"CF-Ray\":[\"9f80deb8db60dc3a-SOF\"],\n \"CF-Cache-Status\":[\"DYNAMIC\"],\n \"Strict-Transport-Security\":[\"max-age=31536000; includeSubDomains; preload\"],\n \"Vary\":[\"origin,\n accept-encoding\"],\n \"access-control-allow-credentials\":[\"false\"],\n \"server-timing\":[\"hcid;desc=\\\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\\\",\n cfr;desc=\\\"9f80deb8e7c6dc3a-IAD\\\"\"],\n \"x-content-type-options\":[\"nosniff\"],\n \"x-hubspot-correlation-id\":[\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\"],\n \"Set-Cookie\":[\"__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-1.0.1.1-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,\n 07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None\"],\n \"Report-To\":[\"{\n\\\"endpoints\\\":[{\n\\\"url\\\":\\\"https:\\\\/\\\\/a.nel.cloudflare.com\\\\/report\\\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\\\"}],\n\\\"group\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"NEL\":[\"{\n\\\"success_fraction\\\":0.01,\n\\\"report_to\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"Server\":[\"cloudflare\"]}} {\n\"correlation_id\":\"95236535-ec98-4541-b92a-adfa73b69eab\",\n\"trace_id\":\"c7ab8365-903f-46d4-9403-0e5b551e3545\"}","depth":4,"on_screen":true,"value":"[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {\n\"headers\":{\n\"Date\":[\"Thu,07 May 2026 14:21:15 GMT\"],\n \"Content-Type\":[\"application/json;charset=utf-8\"],\n \"Transfer-Encoding\":[\"chunked\"],\n \"Connection\":[\"keep-alive\"],\n \"CF-Ray\":[\"9f80deb8db60dc3a-SOF\"],\n \"CF-Cache-Status\":[\"DYNAMIC\"],\n \"Strict-Transport-Security\":[\"max-age=31536000; includeSubDomains; preload\"],\n \"Vary\":[\"origin,\n accept-encoding\"],\n \"access-control-allow-credentials\":[\"false\"],\n \"server-timing\":[\"hcid;desc=\\\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\\\",\n cfr;desc=\\\"9f80deb8e7c6dc3a-IAD\\\"\"],\n \"x-content-type-options\":[\"nosniff\"],\n \"x-hubspot-correlation-id\":[\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\"],\n \"Set-Cookie\":[\"__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-1.0.1.1-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,\n 07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None\"],\n \"Report-To\":[\"{\n\\\"endpoints\\\":[{\n\\\"url\\\":\\\"https:\\\\/\\\\/a.nel.cloudflare.com\\\\/report\\\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\\\"}],\n\\\"group\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"NEL\":[\"{\n\\\"success_fraction\\\":0.01,\n\\\"report_to\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"Server\":[\"cloudflare\"]}} {\n\"correlation_id\":\"95236535-ec98-4541-b92a-adfa73b69eab\",\n\"trace_id\":\"c7ab8365-903f-46d4-9403-0e5b551e3545\"}","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}]...
|
3191170991068695078
|
-2489294891750393478
|
idle
|
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
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
2
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Jobs\Crm\Delete;
use Illuminate\Events\Dispatcher;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Jiminny\Enums\CrmObject;
use Jiminny\Events\Crm\DetachActivityObject;
use Jiminny\Models\Activity;
use Psr\Log\LoggerInterface;
use Throwable;
trait DeleteCrmEntityTrait
{
public int $tries = 3;
public function timeout(): int
{
return 300; // 5 minutes
}
public function backoff(): array
{
return [30, 90, 180]; // 30 seconds, 1.5 minutes, 3 minutes
}
protected function handleActivities(
Collection $activities,
Dispatcher $dispatcher,
LoggerInterface $logger,
bool $emitEvent = true,
): void {
if ($activities->isEmpty()) {
return;
}
$crmObject = $this->getEntityType();
$entityIdField = $crmObject->value . '_id';
$activities->each(
function (Activity $activity) use ($dispatcher, $logger, $entityIdField, $crmObject, $emitEvent): void {
$stageId = $activity->getStage()?->getId();
$logData = [
$crmObject->value => $this->id,
'activity' => $activity->getId(),
'emitEvent' => $emitEvent,
];
$updateData = [
$entityIdField => null,
];
// For leads and opportunities, also nullify the stage_id
if ($stageId && in_array($crmObject, [CrmObject::LEAD, CrmObject::OPPORTUNITY], true)) {
$updateData['stage_id'] = null;
$logData['stage_id'] = $stageId;
}
$activity->update($updateData);
if ($emitEvent) {
$dispatcher->dispatch(new DetachActivityObject($activity, $crmObject));
}
$logger->info($this->getLogPrefix() . ' Detach from activity', $logData);
// Dispatch job to verify if CRM task/event still exists
if ($activity->hasCrmProviderId()) {
VerifyActivityCrmTaskJob::dispatch($activity->getId());
}
}
);
}
public function failed(Throwable $exception): void
{
$crmObject = $this->getEntityType();
Log::critical($this->getLogPrefix() . ' Job failed permanently', [
$crmObject->value => $this->id,
'exception' => $exception->getMessage(),
]);
}
// Abstract methods that must be implemented by the using class
abstract protected function getLogPrefix(): string;
abstract protected function getEntityType(): CrmObject;
}
Sync Changes
Hide This Notification
Code changed:
Hide
19
Previous Highlighted Error
Next Highlighted Error
[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {
"headers":{
"Date":["Thu,07 May 2026 14:21:15 GMT"],
"Content-Type":["application/json;charset=utf-8"],
"Transfer-Encoding":["chunked"],
"Connection":["keep-alive"],
"CF-Ray":["9f80deb8db60dc3a-SOF"],
"CF-Cache-Status":["DYNAMIC"],
"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],
"Vary":["origin,
accept-encoding"],
"access-control-allow-credentials":["false"],
"server-timing":["hcid;desc=\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\",
cfr;desc=\"9f80deb8e7c6dc3a-IAD\""],
"x-content-type-options":["nosniff"],
"x-hubspot-correlation-id":["019e02d0-6fd8-7812-bdba-885b7ccb3ee3"],
"Set-Cookie":["__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-[IP_ADDRESS]-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,
07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None"],
"Report-To":["{
\"endpoints\":[{
\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\"}],
\"group\":\"cf-nel\",
\"max_age\":604800}"],
"NEL":["{
\"success_fraction\":0.01,
\"report_to\":\"cf-nel\",
\"max_age\":604800}"],
"Server":["cloudflare"]}} {
"correlation_id":"95236535-ec98-4541-b92a-adfa73b69eab",
"trace_id":"c7ab8365-903f-46d4-9403-0e5b551e3545"}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
16843
|
NULL
|
NULL
|
NULL
|
|
16813
|
NULL
|
0
|
2026-05-11T09:30:30.450767+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778491830450_m2.jpg...
|
PhpStorm
|
faVsco.js – DeleteCrmEntityTrait.php
|
1
|
NULL
|
monitor_2
|
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
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
2
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Jobs\Crm\Delete;
use Illuminate\Events\Dispatcher;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Jiminny\Enums\CrmObject;
use Jiminny\Events\Crm\DetachActivityObject;
use Jiminny\Models\Activity;
use Psr\Log\LoggerInterface;
use Throwable;
trait DeleteCrmEntityTrait
{
public int $tries = 3;
public function timeout(): int
{
return 300; // 5 minutes
}
public function backoff(): array
{
return [30, 90, 180]; // 30 seconds, 1.5 minutes, 3 minutes
}
protected function handleActivities(
Collection $activities,
Dispatcher $dispatcher,
LoggerInterface $logger,
bool $emitEvent = true,
): void {
if ($activities->isEmpty()) {
return;
}
$crmObject = $this->getEntityType();
$entityIdField = $crmObject->value . '_id';
$activities->each(
function (Activity $activity) use ($dispatcher, $logger, $entityIdField, $crmObject, $emitEvent): void {
$stageId = $activity->getStage()?->getId();
$logData = [
$crmObject->value => $this->id,
'activity' => $activity->getId(),
'emitEvent' => $emitEvent,
];
$updateData = [
$entityIdField => null,
];
// For leads and opportunities, also nullify the stage_id
if ($stageId && in_array($crmObject, [CrmObject::LEAD, CrmObject::OPPORTUNITY], true)) {
$updateData['stage_id'] = null;
$logData['stage_id'] = $stageId;
}
$activity->update($updateData);
if ($emitEvent) {
$dispatcher->dispatch(new DetachActivityObject($activity, $crmObject));
}
$logger->info($this->getLogPrefix() . ' Detach from activity', $logData);
// Dispatch job to verify if CRM task/event still exists
if ($activity->hasCrmProviderId()) {
VerifyActivityCrmTaskJob::dispatch($activity->getId());
}
}
);
}
public function failed(Throwable $exception): void
{
$crmObject = $this->getEntityType();
Log::critical($this->getLogPrefix() . ' Job failed permanently', [
$crmObject->value => $this->id,
'exception' => $exception->getMessage(),
]);
}
// Abstract methods that must be implemented by the using class
abstract protected function getLogPrefix(): string;
abstract protected function getEntityType(): CrmObject;
}
Sync Changes
Hide This Notification
Code changed:
Hide
19
Previous Highlighted Error
Next Highlighted Error
[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {
"headers":{
"Date":["Thu,07 May 2026 14:21:15 GMT"],
"Content-Type":["application/json;charset=utf-8"],
"Transfer-Encoding":["chunked"],
"Connection":["keep-alive"],
"CF-Ray":["9f80deb8db60dc3a-SOF"],
"CF-Cache-Status":["DYNAMIC"],
"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],
"Vary":["origin,
accept-encoding"],
"access-control-allow-credentials":["false"],
"server-timing":["hcid;desc=\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\",
cfr;desc=\"9f80deb8e7c6dc3a-IAD\""],
"x-content-type-options":["nosniff"],
"x-hubspot-correlation-id":["019e02d0-6fd8-7812-bdba-885b7ccb3ee3"],
"Set-Cookie":["__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-[IP_ADDRESS]-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,
07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None"],
"Report-To":["{
\"endpoints\":[{
\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\"}],
\"group\":\"cf-nel\",
\"max_age\":604800}"],
"NEL":["{
\"success_fraction\":0.01,
\"report_to\":\"cf-nel\",
\"max_age\":604800}"],
"Server":["cloudflare"]}} {
"correlation_id":"95236535-ec98-4541-b92a-adfa73b69eab",
"trace_id":"c7ab8365-903f-46d4-9403-0e5b551e3545"}
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":"JY-20725-handle-HS-search-rate-limit, menu","depth":5,"bounds":{"left":0.064494684,"top":0.019952115,"width":0.09541223,"height":0.025538707},"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,"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":"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":"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":"AXStaticText","text":"2","depth":4,"bounds":{"left":0.38696808,"top":0.22426178,"width":0.007978723,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.39660904,"top":0.22266561,"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.4039229,"top":0.22266561,"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":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Jobs\\Crm\\Delete;\n\nuse Illuminate\\Events\\Dispatcher;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Jiminny\\Enums\\CrmObject;\nuse Jiminny\\Events\\Crm\\DetachActivityObject;\nuse Jiminny\\Models\\Activity;\nuse Psr\\Log\\LoggerInterface;\nuse Throwable;\n\ntrait DeleteCrmEntityTrait\n{\n public int $tries = 3;\n\n public function timeout(): int\n {\n return 300; // 5 minutes\n }\n\n public function backoff(): array\n {\n return [30, 90, 180]; // 30 seconds, 1.5 minutes, 3 minutes\n }\n\n protected function handleActivities(\n Collection $activities,\n Dispatcher $dispatcher,\n LoggerInterface $logger,\n bool $emitEvent = true,\n ): void {\n if ($activities->isEmpty()) {\n return;\n }\n\n $crmObject = $this->getEntityType();\n $entityIdField = $crmObject->value . '_id';\n\n $activities->each(\n function (Activity $activity) use ($dispatcher, $logger, $entityIdField, $crmObject, $emitEvent): void {\n $stageId = $activity->getStage()?->getId();\n\n $logData = [\n $crmObject->value => $this->id,\n 'activity' => $activity->getId(),\n 'emitEvent' => $emitEvent,\n ];\n\n $updateData = [\n $entityIdField => null,\n ];\n\n // For leads and opportunities, also nullify the stage_id\n if ($stageId && in_array($crmObject, [CrmObject::LEAD, CrmObject::OPPORTUNITY], true)) {\n $updateData['stage_id'] = null;\n $logData['stage_id'] = $stageId;\n }\n\n $activity->update($updateData);\n\n if ($emitEvent) {\n $dispatcher->dispatch(new DetachActivityObject($activity, $crmObject));\n }\n\n $logger->info($this->getLogPrefix() . ' Detach from activity', $logData);\n\n // Dispatch job to verify if CRM task/event still exists\n if ($activity->hasCrmProviderId()) {\n VerifyActivityCrmTaskJob::dispatch($activity->getId());\n }\n }\n );\n }\n\n public function failed(Throwable $exception): void\n {\n $crmObject = $this->getEntityType();\n\n Log::critical($this->getLogPrefix() . ' Job failed permanently', [\n $crmObject->value => $this->id,\n 'exception' => $exception->getMessage(),\n ]);\n }\n\n // Abstract methods that must be implemented by the using class\n abstract protected function getLogPrefix(): string;\n abstract protected function getEntityType(): CrmObject;\n}","depth":4,"on_screen":true,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Jobs\\Crm\\Delete;\n\nuse Illuminate\\Events\\Dispatcher;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Jiminny\\Enums\\CrmObject;\nuse Jiminny\\Events\\Crm\\DetachActivityObject;\nuse Jiminny\\Models\\Activity;\nuse Psr\\Log\\LoggerInterface;\nuse Throwable;\n\ntrait DeleteCrmEntityTrait\n{\n public int $tries = 3;\n\n public function timeout(): int\n {\n return 300; // 5 minutes\n }\n\n public function backoff(): array\n {\n return [30, 90, 180]; // 30 seconds, 1.5 minutes, 3 minutes\n }\n\n protected function handleActivities(\n Collection $activities,\n Dispatcher $dispatcher,\n LoggerInterface $logger,\n bool $emitEvent = true,\n ): void {\n if ($activities->isEmpty()) {\n return;\n }\n\n $crmObject = $this->getEntityType();\n $entityIdField = $crmObject->value . '_id';\n\n $activities->each(\n function (Activity $activity) use ($dispatcher, $logger, $entityIdField, $crmObject, $emitEvent): void {\n $stageId = $activity->getStage()?->getId();\n\n $logData = [\n $crmObject->value => $this->id,\n 'activity' => $activity->getId(),\n 'emitEvent' => $emitEvent,\n ];\n\n $updateData = [\n $entityIdField => null,\n ];\n\n // For leads and opportunities, also nullify the stage_id\n if ($stageId && in_array($crmObject, [CrmObject::LEAD, CrmObject::OPPORTUNITY], true)) {\n $updateData['stage_id'] = null;\n $logData['stage_id'] = $stageId;\n }\n\n $activity->update($updateData);\n\n if ($emitEvent) {\n $dispatcher->dispatch(new DetachActivityObject($activity, $crmObject));\n }\n\n $logger->info($this->getLogPrefix() . ' Detach from activity', $logData);\n\n // Dispatch job to verify if CRM task/event still exists\n if ($activity->hasCrmProviderId()) {\n VerifyActivityCrmTaskJob::dispatch($activity->getId());\n }\n }\n );\n }\n\n public function failed(Throwable $exception): void\n {\n $crmObject = $this->getEntityType();\n\n Log::critical($this->getLogPrefix() . ' Job failed permanently', [\n $crmObject->value => $this->id,\n 'exception' => $exception->getMessage(),\n ]);\n }\n\n // Abstract methods that must be implemented by the using class\n abstract protected function getLogPrefix(): string;\n abstract protected function getEntityType(): CrmObject;\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.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":"19","depth":4,"bounds":{"left":0.6296542,"top":0.10055866,"width":0.009640957,"height":0.015163607},"on_screen":true,"role_description":"text"},{"role":"AXButton","text":"Previous Highlighted Error","depth":4,"bounds":{"left":0.6409575,"top":0.09896249,"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.64827126,"top":0.09896249,"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":"[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {\n\"headers\":{\n\"Date\":[\"Thu,07 May 2026 14:21:15 GMT\"],\n \"Content-Type\":[\"application/json;charset=utf-8\"],\n \"Transfer-Encoding\":[\"chunked\"],\n \"Connection\":[\"keep-alive\"],\n \"CF-Ray\":[\"9f80deb8db60dc3a-SOF\"],\n \"CF-Cache-Status\":[\"DYNAMIC\"],\n \"Strict-Transport-Security\":[\"max-age=31536000; includeSubDomains; preload\"],\n \"Vary\":[\"origin,\n accept-encoding\"],\n \"access-control-allow-credentials\":[\"false\"],\n \"server-timing\":[\"hcid;desc=\\\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\\\",\n cfr;desc=\\\"9f80deb8e7c6dc3a-IAD\\\"\"],\n \"x-content-type-options\":[\"nosniff\"],\n \"x-hubspot-correlation-id\":[\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\"],\n \"Set-Cookie\":[\"__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-1.0.1.1-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,\n 07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None\"],\n \"Report-To\":[\"{\n\\\"endpoints\\\":[{\n\\\"url\\\":\\\"https:\\\\/\\\\/a.nel.cloudflare.com\\\\/report\\\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\\\"}],\n\\\"group\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"NEL\":[\"{\n\\\"success_fraction\\\":0.01,\n\\\"report_to\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"Server\":[\"cloudflare\"]}} {\n\"correlation_id\":\"95236535-ec98-4541-b92a-adfa73b69eab\",\n\"trace_id\":\"c7ab8365-903f-46d4-9403-0e5b551e3545\"}","depth":4,"bounds":{"left":0.42918882,"top":0.09736632,"width":0.57081115,"height":0.8818835},"on_screen":true,"lines":[{"char_start":207,"char_count":30,"bounds":{"left":0.42918882,"top":0.0,"width":0.07513298,"height":0.014365523}},{"char_start":237,"char_count":36,"bounds":{"left":0.42918882,"top":0.0,"width":0.09075798,"height":0.014365523}},{"char_start":273,"char_count":32,"bounds":{"left":0.42918882,"top":0.0,"width":0.080119684,"height":0.014365523}},{"char_start":305,"char_count":79,"bounds":{"left":0.42918882,"top":0.0,"width":0.20212767,"height":0.014365523}},{"char_start":384,"char_count":18,"bounds":{"left":0.42918882,"top":0.0,"width":0.043882977,"height":0.014365523}},{"char_start":402,"char_count":21,"bounds":{"left":0.42918882,"top":0.0,"width":0.051861703,"height":0.014365523}},{"char_start":423,"char_count":48,"bounds":{"left":0.42918882,"top":0.008778931,"width":0.12167553,"height":0.014365523}},{"char_start":471,"char_count":72,"bounds":{"left":0.42918882,"top":0.026336791,"width":0.18384309,"height":0.014365523}},{"char_start":543,"char_count":40,"bounds":{"left":0.42918882,"top":0.043894652,"width":0.10106383,"height":0.014365523}},{"char_start":583,"char_count":41,"bounds":{"left":0.42918882,"top":0.061452515,"width":0.10372341,"height":0.014365523}},{"char_start":624,"char_count":72,"bounds":{"left":0.42918882,"top":0.079010375,"width":0.18384309,"height":0.014365523}},{"char_start":696,"char_count":219,"bounds":{"left":0.42918882,"top":0.096568234,"width":0.56515956,"height":0.014365523}},{"char_start":915,"char_count":83,"bounds":{"left":0.42918882,"top":0.11412609,"width":0.21243352,"height":0.014365523}},{"char_start":998,"char_count":20,"bounds":{"left":0.42918882,"top":0.13168396,"width":0.04920213,"height":0.014365523}},{"char_start":1018,"char_count":17,"bounds":{"left":0.42918882,"top":0.14924182,"width":0.041223403,"height":0.014365523}},{"char_start":1035,"char_count":203,"bounds":{"left":0.42918882,"top":0.16679968,"width":0.52360374,"height":0.014365523}},{"char_start":1238,"char_count":22,"bounds":{"left":0.42918882,"top":0.18435754,"width":0.05418883,"height":0.014365523}},{"char_start":1260,"char_count":23,"bounds":{"left":0.42918882,"top":0.2019154,"width":0.056848403,"height":0.014365523}},{"char_start":1283,"char_count":10,"bounds":{"left":0.42918882,"top":0.21947326,"width":0.023271276,"height":0.014365523}},{"char_start":1293,"char_count":27,"bounds":{"left":0.42918882,"top":0.23703113,"width":0.06715426,"height":0.014365523}},{"char_start":1320,"char_count":26,"bounds":{"left":0.42918882,"top":0.254589,"width":0.06482713,"height":0.014365523}},{"char_start":1346,"char_count":23,"bounds":{"left":0.42918882,"top":0.27214685,"width":0.056848403,"height":0.014365523}},{"char_start":1369,"char_count":28,"bounds":{"left":0.42918882,"top":0.2897047,"width":0.06981383,"height":0.014365523}},{"char_start":1397,"char_count":57,"bounds":{"left":0.42918882,"top":0.30726257,"width":0.14494681,"height":0.014365523}}],"value":"[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {\n\"headers\":{\n\"Date\":[\"Thu,07 May 2026 14:21:15 GMT\"],\n \"Content-Type\":[\"application/json;charset=utf-8\"],\n \"Transfer-Encoding\":[\"chunked\"],\n \"Connection\":[\"keep-alive\"],\n \"CF-Ray\":[\"9f80deb8db60dc3a-SOF\"],\n \"CF-Cache-Status\":[\"DYNAMIC\"],\n \"Strict-Transport-Security\":[\"max-age=31536000; includeSubDomains; preload\"],\n \"Vary\":[\"origin,\n accept-encoding\"],\n \"access-control-allow-credentials\":[\"false\"],\n \"server-timing\":[\"hcid;desc=\\\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\\\",\n cfr;desc=\\\"9f80deb8e7c6dc3a-IAD\\\"\"],\n \"x-content-type-options\":[\"nosniff\"],\n \"x-hubspot-correlation-id\":[\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\"],\n \"Set-Cookie\":[\"__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-1.0.1.1-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,\n 07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None\"],\n \"Report-To\":[\"{\n\\\"endpoints\\\":[{\n\\\"url\\\":\\\"https:\\\\/\\\\/a.nel.cloudflare.com\\\\/report\\\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\\\"}],\n\\\"group\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"NEL\":[\"{\n\\\"success_fraction\\\":0.01,\n\\\"report_to\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"Server\":[\"cloudflare\"]}} {\n\"correlation_id\":\"95236535-ec98-4541-b92a-adfa73b69eab\",\n\"trace_id\":\"c7ab8365-903f-46d4-9403-0e5b551e3545\"}","role_description":"text entry area","is_enabled":true,"is_focused":false,"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}]...
|
3191170991068695078
|
-2489294891750393478
|
idle
|
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
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
2
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Jobs\Crm\Delete;
use Illuminate\Events\Dispatcher;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Jiminny\Enums\CrmObject;
use Jiminny\Events\Crm\DetachActivityObject;
use Jiminny\Models\Activity;
use Psr\Log\LoggerInterface;
use Throwable;
trait DeleteCrmEntityTrait
{
public int $tries = 3;
public function timeout(): int
{
return 300; // 5 minutes
}
public function backoff(): array
{
return [30, 90, 180]; // 30 seconds, 1.5 minutes, 3 minutes
}
protected function handleActivities(
Collection $activities,
Dispatcher $dispatcher,
LoggerInterface $logger,
bool $emitEvent = true,
): void {
if ($activities->isEmpty()) {
return;
}
$crmObject = $this->getEntityType();
$entityIdField = $crmObject->value . '_id';
$activities->each(
function (Activity $activity) use ($dispatcher, $logger, $entityIdField, $crmObject, $emitEvent): void {
$stageId = $activity->getStage()?->getId();
$logData = [
$crmObject->value => $this->id,
'activity' => $activity->getId(),
'emitEvent' => $emitEvent,
];
$updateData = [
$entityIdField => null,
];
// For leads and opportunities, also nullify the stage_id
if ($stageId && in_array($crmObject, [CrmObject::LEAD, CrmObject::OPPORTUNITY], true)) {
$updateData['stage_id'] = null;
$logData['stage_id'] = $stageId;
}
$activity->update($updateData);
if ($emitEvent) {
$dispatcher->dispatch(new DetachActivityObject($activity, $crmObject));
}
$logger->info($this->getLogPrefix() . ' Detach from activity', $logData);
// Dispatch job to verify if CRM task/event still exists
if ($activity->hasCrmProviderId()) {
VerifyActivityCrmTaskJob::dispatch($activity->getId());
}
}
);
}
public function failed(Throwable $exception): void
{
$crmObject = $this->getEntityType();
Log::critical($this->getLogPrefix() . ' Job failed permanently', [
$crmObject->value => $this->id,
'exception' => $exception->getMessage(),
]);
}
// Abstract methods that must be implemented by the using class
abstract protected function getLogPrefix(): string;
abstract protected function getEntityType(): CrmObject;
}
Sync Changes
Hide This Notification
Code changed:
Hide
19
Previous Highlighted Error
Next Highlighted Error
[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {
"headers":{
"Date":["Thu,07 May 2026 14:21:15 GMT"],
"Content-Type":["application/json;charset=utf-8"],
"Transfer-Encoding":["chunked"],
"Connection":["keep-alive"],
"CF-Ray":["9f80deb8db60dc3a-SOF"],
"CF-Cache-Status":["DYNAMIC"],
"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],
"Vary":["origin,
accept-encoding"],
"access-control-allow-credentials":["false"],
"server-timing":["hcid;desc=\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\",
cfr;desc=\"9f80deb8e7c6dc3a-IAD\""],
"x-content-type-options":["nosniff"],
"x-hubspot-correlation-id":["019e02d0-6fd8-7812-bdba-885b7ccb3ee3"],
"Set-Cookie":["__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-[IP_ADDRESS]-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,
07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None"],
"Report-To":["{
\"endpoints\":[{
\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\"}],
\"group\":\"cf-nel\",
\"max_age\":604800}"],
"NEL":["{
\"success_fraction\":0.01,
\"report_to\":\"cf-nel\",
\"max_age\":604800}"],
"Server":["cloudflare"]}} {
"correlation_id":"95236535-ec98-4541-b92a-adfa73b69eab",
"trace_id":"c7ab8365-903f-46d4-9403-0e5b551e3545"}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
16807
|
NULL
|
NULL
|
NULL
|
|
16812
|
NULL
|
0
|
2026-05-11T09:30:30.349105+00:00
|
/Users/lukas/.screenpipe/data/data/2026-05-11/1778 /Users/lukas/.screenpipe/data/data/2026-05-11/1778491830349_m1.jpg...
|
PhpStorm
|
faVsco.js – DeleteCrmEntityTrait.php
|
1
|
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
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
2
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Jobs\Crm\Delete;
use Illuminate\Events\Dispatcher;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Jiminny\Enums\CrmObject;
use Jiminny\Events\Crm\DetachActivityObject;
use Jiminny\Models\Activity;
use Psr\Log\LoggerInterface;
use Throwable;
trait DeleteCrmEntityTrait
{
public int $tries = 3;
public function timeout(): int
{
return 300; // 5 minutes
}
public function backoff(): array
{
return [30, 90, 180]; // 30 seconds, 1.5 minutes, 3 minutes
}
protected function handleActivities(
Collection $activities,
Dispatcher $dispatcher,
LoggerInterface $logger,
bool $emitEvent = true,
): void {
if ($activities->isEmpty()) {
return;
}
$crmObject = $this->getEntityType();
$entityIdField = $crmObject->value . '_id';
$activities->each(
function (Activity $activity) use ($dispatcher, $logger, $entityIdField, $crmObject, $emitEvent): void {
$stageId = $activity->getStage()?->getId();
$logData = [
$crmObject->value => $this->id,
'activity' => $activity->getId(),
'emitEvent' => $emitEvent,
];
$updateData = [
$entityIdField => null,
];
// For leads and opportunities, also nullify the stage_id
if ($stageId && in_array($crmObject, [CrmObject::LEAD, CrmObject::OPPORTUNITY], true)) {
$updateData['stage_id'] = null;
$logData['stage_id'] = $stageId;
}
$activity->update($updateData);
if ($emitEvent) {
$dispatcher->dispatch(new DetachActivityObject($activity, $crmObject));
}
$logger->info($this->getLogPrefix() . ' Detach from activity', $logData);
// Dispatch job to verify if CRM task/event still exists
if ($activity->hasCrmProviderId()) {
VerifyActivityCrmTaskJob::dispatch($activity->getId());
}
}
);
}
public function failed(Throwable $exception): void
{
$crmObject = $this->getEntityType();
Log::critical($this->getLogPrefix() . ' Job failed permanently', [
$crmObject->value => $this->id,
'exception' => $exception->getMessage(),
]);
}
// Abstract methods that must be implemented by the using class
abstract protected function getLogPrefix(): string;
abstract protected function getEntityType(): CrmObject;
}
Sync Changes
Hide This Notification
Code changed:
Hide
19
Previous Highlighted Error
Next Highlighted Error
[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {
"headers":{
"Date":["Thu,07 May 2026 14:21:15 GMT"],
"Content-Type":["application/json;charset=utf-8"],
"Transfer-Encoding":["chunked"],
"Connection":["keep-alive"],
"CF-Ray":["9f80deb8db60dc3a-SOF"],
"CF-Cache-Status":["DYNAMIC"],
"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],
"Vary":["origin,
accept-encoding"],
"access-control-allow-credentials":["false"],
"server-timing":["hcid;desc=\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\",
cfr;desc=\"9f80deb8e7c6dc3a-IAD\""],
"x-content-type-options":["nosniff"],
"x-hubspot-correlation-id":["019e02d0-6fd8-7812-bdba-885b7ccb3ee3"],
"Set-Cookie":["__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-[IP_ADDRESS]-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,
07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None"],
"Report-To":["{
\"endpoints\":[{
\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\"}],
\"group\":\"cf-nel\",
\"max_age\":604800}"],
"NEL":["{
\"success_fraction\":0.01,
\"report_to\":\"cf-nel\",
\"max_age\":604800}"],
"Server":["cloudflare"]}} {
"correlation_id":"95236535-ec98-4541-b92a-adfa73b69eab",
"trace_id":"c7ab8365-903f-46d4-9403-0e5b551e3545"}
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":"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":"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":"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":"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":"AXStaticText","text":"2","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\\Jobs\\Crm\\Delete;\n\nuse Illuminate\\Events\\Dispatcher;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Jiminny\\Enums\\CrmObject;\nuse Jiminny\\Events\\Crm\\DetachActivityObject;\nuse Jiminny\\Models\\Activity;\nuse Psr\\Log\\LoggerInterface;\nuse Throwable;\n\ntrait DeleteCrmEntityTrait\n{\n public int $tries = 3;\n\n public function timeout(): int\n {\n return 300; // 5 minutes\n }\n\n public function backoff(): array\n {\n return [30, 90, 180]; // 30 seconds, 1.5 minutes, 3 minutes\n }\n\n protected function handleActivities(\n Collection $activities,\n Dispatcher $dispatcher,\n LoggerInterface $logger,\n bool $emitEvent = true,\n ): void {\n if ($activities->isEmpty()) {\n return;\n }\n\n $crmObject = $this->getEntityType();\n $entityIdField = $crmObject->value . '_id';\n\n $activities->each(\n function (Activity $activity) use ($dispatcher, $logger, $entityIdField, $crmObject, $emitEvent): void {\n $stageId = $activity->getStage()?->getId();\n\n $logData = [\n $crmObject->value => $this->id,\n 'activity' => $activity->getId(),\n 'emitEvent' => $emitEvent,\n ];\n\n $updateData = [\n $entityIdField => null,\n ];\n\n // For leads and opportunities, also nullify the stage_id\n if ($stageId && in_array($crmObject, [CrmObject::LEAD, CrmObject::OPPORTUNITY], true)) {\n $updateData['stage_id'] = null;\n $logData['stage_id'] = $stageId;\n }\n\n $activity->update($updateData);\n\n if ($emitEvent) {\n $dispatcher->dispatch(new DetachActivityObject($activity, $crmObject));\n }\n\n $logger->info($this->getLogPrefix() . ' Detach from activity', $logData);\n\n // Dispatch job to verify if CRM task/event still exists\n if ($activity->hasCrmProviderId()) {\n VerifyActivityCrmTaskJob::dispatch($activity->getId());\n }\n }\n );\n }\n\n public function failed(Throwable $exception): void\n {\n $crmObject = $this->getEntityType();\n\n Log::critical($this->getLogPrefix() . ' Job failed permanently', [\n $crmObject->value => $this->id,\n 'exception' => $exception->getMessage(),\n ]);\n }\n\n // Abstract methods that must be implemented by the using class\n abstract protected function getLogPrefix(): string;\n abstract protected function getEntityType(): CrmObject;\n}","depth":4,"on_screen":true,"value":"<?php\n\ndeclare(strict_types=1);\n\nnamespace Jiminny\\Jobs\\Crm\\Delete;\n\nuse Illuminate\\Events\\Dispatcher;\nuse Illuminate\\Support\\Collection;\nuse Illuminate\\Support\\Facades\\Log;\nuse Jiminny\\Enums\\CrmObject;\nuse Jiminny\\Events\\Crm\\DetachActivityObject;\nuse Jiminny\\Models\\Activity;\nuse Psr\\Log\\LoggerInterface;\nuse Throwable;\n\ntrait DeleteCrmEntityTrait\n{\n public int $tries = 3;\n\n public function timeout(): int\n {\n return 300; // 5 minutes\n }\n\n public function backoff(): array\n {\n return [30, 90, 180]; // 30 seconds, 1.5 minutes, 3 minutes\n }\n\n protected function handleActivities(\n Collection $activities,\n Dispatcher $dispatcher,\n LoggerInterface $logger,\n bool $emitEvent = true,\n ): void {\n if ($activities->isEmpty()) {\n return;\n }\n\n $crmObject = $this->getEntityType();\n $entityIdField = $crmObject->value . '_id';\n\n $activities->each(\n function (Activity $activity) use ($dispatcher, $logger, $entityIdField, $crmObject, $emitEvent): void {\n $stageId = $activity->getStage()?->getId();\n\n $logData = [\n $crmObject->value => $this->id,\n 'activity' => $activity->getId(),\n 'emitEvent' => $emitEvent,\n ];\n\n $updateData = [\n $entityIdField => null,\n ];\n\n // For leads and opportunities, also nullify the stage_id\n if ($stageId && in_array($crmObject, [CrmObject::LEAD, CrmObject::OPPORTUNITY], true)) {\n $updateData['stage_id'] = null;\n $logData['stage_id'] = $stageId;\n }\n\n $activity->update($updateData);\n\n if ($emitEvent) {\n $dispatcher->dispatch(new DetachActivityObject($activity, $crmObject));\n }\n\n $logger->info($this->getLogPrefix() . ' Detach from activity', $logData);\n\n // Dispatch job to verify if CRM task/event still exists\n if ($activity->hasCrmProviderId()) {\n VerifyActivityCrmTaskJob::dispatch($activity->getId());\n }\n }\n );\n }\n\n public function failed(Throwable $exception): void\n {\n $crmObject = $this->getEntityType();\n\n Log::critical($this->getLogPrefix() . ' Job failed permanently', [\n $crmObject->value => $this->id,\n 'exception' => $exception->getMessage(),\n ]);\n }\n\n // Abstract methods that must be implemented by the using class\n abstract protected function getLogPrefix(): string;\n abstract protected function getEntityType(): CrmObject;\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":"19","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-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {\n\"headers\":{\n\"Date\":[\"Thu,07 May 2026 14:21:15 GMT\"],\n \"Content-Type\":[\"application/json;charset=utf-8\"],\n \"Transfer-Encoding\":[\"chunked\"],\n \"Connection\":[\"keep-alive\"],\n \"CF-Ray\":[\"9f80deb8db60dc3a-SOF\"],\n \"CF-Cache-Status\":[\"DYNAMIC\"],\n \"Strict-Transport-Security\":[\"max-age=31536000; includeSubDomains; preload\"],\n \"Vary\":[\"origin,\n accept-encoding\"],\n \"access-control-allow-credentials\":[\"false\"],\n \"server-timing\":[\"hcid;desc=\\\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\\\",\n cfr;desc=\\\"9f80deb8e7c6dc3a-IAD\\\"\"],\n \"x-content-type-options\":[\"nosniff\"],\n \"x-hubspot-correlation-id\":[\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\"],\n \"Set-Cookie\":[\"__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-1.0.1.1-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,\n 07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None\"],\n \"Report-To\":[\"{\n\\\"endpoints\\\":[{\n\\\"url\\\":\\\"https:\\\\/\\\\/a.nel.cloudflare.com\\\\/report\\\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\\\"}],\n\\\"group\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"NEL\":[\"{\n\\\"success_fraction\\\":0.01,\n\\\"report_to\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"Server\":[\"cloudflare\"]}} {\n\"correlation_id\":\"95236535-ec98-4541-b92a-adfa73b69eab\",\n\"trace_id\":\"c7ab8365-903f-46d4-9403-0e5b551e3545\"}","depth":4,"on_screen":true,"value":"[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {\n\"headers\":{\n\"Date\":[\"Thu,07 May 2026 14:21:15 GMT\"],\n \"Content-Type\":[\"application/json;charset=utf-8\"],\n \"Transfer-Encoding\":[\"chunked\"],\n \"Connection\":[\"keep-alive\"],\n \"CF-Ray\":[\"9f80deb8db60dc3a-SOF\"],\n \"CF-Cache-Status\":[\"DYNAMIC\"],\n \"Strict-Transport-Security\":[\"max-age=31536000; includeSubDomains; preload\"],\n \"Vary\":[\"origin,\n accept-encoding\"],\n \"access-control-allow-credentials\":[\"false\"],\n \"server-timing\":[\"hcid;desc=\\\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\\\",\n cfr;desc=\\\"9f80deb8e7c6dc3a-IAD\\\"\"],\n \"x-content-type-options\":[\"nosniff\"],\n \"x-hubspot-correlation-id\":[\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\"],\n \"Set-Cookie\":[\"__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-1.0.1.1-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,\n 07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None\"],\n \"Report-To\":[\"{\n\\\"endpoints\\\":[{\n\\\"url\\\":\\\"https:\\\\/\\\\/a.nel.cloudflare.com\\\\/report\\\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\\\"}],\n\\\"group\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"NEL\":[\"{\n\\\"success_fraction\\\":0.01,\n\\\"report_to\\\":\\\"cf-nel\\\",\n\\\"max_age\\\":604800}\"],\n\"Server\":[\"cloudflare\"]}} {\n\"correlation_id\":\"95236535-ec98-4541-b92a-adfa73b69eab\",\n\"trace_id\":\"c7ab8365-903f-46d4-9403-0e5b551e3545\"}","role_description":"text entry area","is_enabled":true,"is_focused":false,"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}]...
|
3191170991068695078
|
-2489294891750393478
|
idle
|
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
AskJiminnyReportActivityServiceTest
Run 'AskJiminnyReportActivityServiceTest'
Debug 'AskJiminnyReportActivityServiceTest'
More Actions
JetBrains AI
Search Everywhere
IDE and Project Settings
Code changed:
Hide
Sync Changes
Hide This Notification
2
Previous Highlighted Error
Next Highlighted Error
<?php
declare(strict_types=1);
namespace Jiminny\Jobs\Crm\Delete;
use Illuminate\Events\Dispatcher;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Log;
use Jiminny\Enums\CrmObject;
use Jiminny\Events\Crm\DetachActivityObject;
use Jiminny\Models\Activity;
use Psr\Log\LoggerInterface;
use Throwable;
trait DeleteCrmEntityTrait
{
public int $tries = 3;
public function timeout(): int
{
return 300; // 5 minutes
}
public function backoff(): array
{
return [30, 90, 180]; // 30 seconds, 1.5 minutes, 3 minutes
}
protected function handleActivities(
Collection $activities,
Dispatcher $dispatcher,
LoggerInterface $logger,
bool $emitEvent = true,
): void {
if ($activities->isEmpty()) {
return;
}
$crmObject = $this->getEntityType();
$entityIdField = $crmObject->value . '_id';
$activities->each(
function (Activity $activity) use ($dispatcher, $logger, $entityIdField, $crmObject, $emitEvent): void {
$stageId = $activity->getStage()?->getId();
$logData = [
$crmObject->value => $this->id,
'activity' => $activity->getId(),
'emitEvent' => $emitEvent,
];
$updateData = [
$entityIdField => null,
];
// For leads and opportunities, also nullify the stage_id
if ($stageId && in_array($crmObject, [CrmObject::LEAD, CrmObject::OPPORTUNITY], true)) {
$updateData['stage_id'] = null;
$logData['stage_id'] = $stageId;
}
$activity->update($updateData);
if ($emitEvent) {
$dispatcher->dispatch(new DetachActivityObject($activity, $crmObject));
}
$logger->info($this->getLogPrefix() . ' Detach from activity', $logData);
// Dispatch job to verify if CRM task/event still exists
if ($activity->hasCrmProviderId()) {
VerifyActivityCrmTaskJob::dispatch($activity->getId());
}
}
);
}
public function failed(Throwable $exception): void
{
$crmObject = $this->getEntityType();
Log::critical($this->getLogPrefix() . ' Job failed permanently', [
$crmObject->value => $this->id,
'exception' => $exception->getMessage(),
]);
}
// Abstract methods that must be implemented by the using class
abstract protected function getLogPrefix(): string;
abstract protected function getEntityType(): CrmObject;
}
Sync Changes
Hide This Notification
Code changed:
Hide
19
Previous Highlighted Error
Next Highlighted Error
[2026-05-07 14:21:15] local.INFO: [Hubspot] DEBUG Getting headers {
"headers":{
"Date":["Thu,07 May 2026 14:21:15 GMT"],
"Content-Type":["application/json;charset=utf-8"],
"Transfer-Encoding":["chunked"],
"Connection":["keep-alive"],
"CF-Ray":["9f80deb8db60dc3a-SOF"],
"CF-Cache-Status":["DYNAMIC"],
"Strict-Transport-Security":["max-age=31536000; includeSubDomains; preload"],
"Vary":["origin,
accept-encoding"],
"access-control-allow-credentials":["false"],
"server-timing":["hcid;desc=\"019e02d0-6fd8-7812-bdba-885b7ccb3ee3\",
cfr;desc=\"9f80deb8e7c6dc3a-IAD\""],
"x-content-type-options":["nosniff"],
"x-hubspot-correlation-id":["019e02d0-6fd8-7812-bdba-885b7ccb3ee3"],
"Set-Cookie":["__cf_bm=SIUrtdQgXVrik50pdqF6hZVYKhzTnQBidvMabeCtm0Y-1778163675-[IP_ADDRESS]-rI.ZggtDKxTge5zr8_2gbBfWMQQ.ufZEXDZyHz2mBUFdzdo2gTHEsOkXMSEShjK0hGYxNhUGM1ZoBpX7BcFZcHEjA7Cs_.SMUhUnd2nYjko; path=/; expires=Thu,
07-May-26 14:51:15 GMT; domain=.hubapi.com; HttpOnly; Secure; SameSite=None"],
"Report-To":["{
\"endpoints\":[{
\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=NYAlsVTP0fYm32qrSDjxYE4sd2RWRqiSp3wHsmdEgZlzoYdxI%2BIxVpHmsKn3O%2BKVA3mFIJ2m7YRECDGSM%2BW2IYTzo6FM4%2BdUIjURO8srzKSvJgZ%2BQ6R79arKQw3uHLlX\"}],
\"group\":\"cf-nel\",
\"max_age\":604800}"],
"NEL":["{
\"success_fraction\":0.01,
\"report_to\":\"cf-nel\",
\"max_age\":604800}"],
"Server":["cloudflare"]}} {
"correlation_id":"95236535-ec98-4541-b92a-adfa73b69eab",
"trace_id":"c7ab8365-903f-46d4-9403-0e5b551e3545"}
Project
Project
New File or Directory…
Expand Selected
Collapse All
Options
Hide...
|
16804
|
NULL
|
NULL
|
NULL
|